Quando faccio questoImpossibile ottenere OffsetDateTime da TemporalAccessor
String datum = "20130419233512";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss").withZone(ZoneId.of("Europe/Berlin"));
OffsetDateTime datetime = OffsetDateTime.parse(datum, formatter);
ottengo la seguente eccezione:
java.time.format.DateTimeParseException: Text '20130419233512' could not be parsed:
Unable to obtain OffsetDateTime from TemporalAccessor: {InstantSeconds=1366407312},ISO,Europe/Berlin resolved
to 2013-04-19T23:35:12 of type java.time.format.Parsed
Come posso analizzare la mia stringa datetime in modo che sia interpretata come sempre dalla fuso orario "Europa/Berlino"?
Mi piace che lo faccia in un solo passaggio, piuttosto che in due come ho mostrato. Lascerò la mia risposta poiché entrambi funzioneranno, ma consiglierei il vostro per il segno di spunta verde. :) –
Poiché ho bisogno di OffsetDateTime ora utilizzo 'OffsetDateTime datetime = ZonedDateTime.parse (datum, formatter) .toOffsetDateTime();'. – asmaier
@asmaier Sì, questo è quello che ho anche commentato. Puoi usarlo per convertire in un 'OffsetDateTime'. – Tunaki