2016-08-18 1 views
-2

ich die folgende Zeit Zeichenfolge java.time analysieren möchten:Wie analysiere ich Zeit mit Millisekunden und Offset?

OffsetDateTime.parse("00:00:00.000+02:00", DateTimeFormatter.ISO_OFFSET_TIME); 

Ergebnis:

java.time.format.DateTimeParseException: Text '00:00:00.000+02:00' could not be parsed: Unable to obtain OffsetDateTime from TemporalAccessor: {OffsetSeconds=7200},ISO resolved to 00:00 of type java.time.format.Parsed 
    at java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:1918) 
    at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1853) 
    at java.time.OffsetDateTime.parse(OffsetDateTime.java:402) 

So wie könnte ich dann analysieren diese Zeit, wenn nicht auf diese Weise?

+0

Sie analysieren ein ** Datum ** Zeit, wo ist das Datum? –

+0

Hinweis: Verwenden Sie 'OffsetTime'. –

+0

http://stackoverflow.com/questions/2201925/converting-iso-8601-compliant-string-to-java-util-date – Setily

Antwort

4

Ein OffsetDateTime repräsentiert

eine unveränderliche Darstellung einer Datum-Zeit mit einem Offset. Diese Klasse speichert alle Datums- und Uhrzeitfelder mit einer Genauigkeit von Nanosekunden sowie dem Offset von UTC/Greenwich.

Aber Sie versuchen, ohne ein Datum Teil kann

"00:00:00.000+02:00" 

Das Parsing ein Datum Zeichenfolge analysieren kein Datum aus diesem Extrakt und somit versagt.

Sie scheinen eine OffsetTime

Diese Klasse speichert alle Zeitfelder, mit einer Genauigkeit von Nanosekunden, wie auch eine Zone Offset benutzen zu wollen.

können Sie dann konvertieren, das zu einem OffsetDateTime, wenn Sie einen LocalDate haben, mit OffsetTime#atDate.

Verwandte Themen