Heim  >  Artikel  >  Java  >  Wie analysiere ich eine ISO 8601-Zeichenfolge mit fehlendem Doppelpunkt im Offset in Java 8?

Wie analysiere ich eine ISO 8601-Zeichenfolge mit fehlendem Doppelpunkt im Offset in Java 8?

Susan Sarandon
Susan SarandonOriginal
2024-11-03 08:19:02505Durchsuche

How to Parse ISO 8601 String with Missing Colon in Offset in Java 8?

ISO 8601-Zeichenfolge ohne Doppelpunkt im Offset zum Java 8-Datum analysieren

Das Problem tritt auf, wenn versucht wird, eine ISO 8601-formatierte Zeichenfolge mit zu analysieren ein Offset ohne Doppelpunkt (z. B. „2018-02-13T10:20:12.120 0000“) unter Verwendung der neuen Datum-Uhrzeit-API in Java 8.

Lösung

Bis der Fehler behoben ist (Java 8)

Verwenden Sie eine Problemumgehung:

  • Hack: Doppelpunkt in Eingabezeichenfolge einfügen:
<code class="java">String input = "2018-02-13T10:20:12.120+0000".replace( "+0000" , "+00:00" );
OffsetDateTime odt = OffsetDateTime.parse( input );</code>
  • Explizites Formatierungsmuster:
<code class="java">String input = "2018-02-13T10:20:12.120+0000" ;
DateTimeFormatter f = DateTimeFormatter.ofPattern( "uuuu-MM-dd'T'HH:mm:ss.SSSX" );
OffsetDateTime odt = OffsetDateTime.parse( input , f );</code>

Wenn der Fehler behoben ist:

So analysieren Sie ohne Problemumgehungen:

<code class="java">OffsetDateTime odt = OffsetDateTime.parse( "2018-02-13T10:20:12.120+0000" );</code>

Zusätzliche Hinweise:

  • Vermeiden Sie veraltete Datums-/Uhrzeitklassen wie java.util.Date und SimpleDateFormat.
  • Verwenden Sie OffsetDateTime für Offsets und Instant für UTC-Werte.
  • Verwenden Sie für die Zeitzonenkonvertierung ZonedDateTime.
  • Weitere Beispiele und Informationen finden Sie unter Stack Overflow.

Das obige ist der detaillierte Inhalt vonWie analysiere ich eine ISO 8601-Zeichenfolge mit fehlendem Doppelpunkt im Offset in Java 8?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn