„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Java verwendet SimpledateFormat, um die Datumsmethode mit 'z' zu analysieren.

Java verwendet SimpledateFormat, um die Datumsmethode mit 'z' zu analysieren.

Gepostet am 2025-04-17
Durchsuche:651

How to Correctly Parse Dates with \'Z\' Literal in Java using SimpleDateFormat?

simpledateFormat analysieren mit 'z' literal

Wenn versucht wird, ein Datum in ISO 8601 -Format mit dem Format zu speichern, kann es nicht mit dem ’literalischen Atertec -Format versagen. Zum Beispiel wird die String "2010-04-05T17: 16: 00Z" unter Verwendung des Musters "yyyy-mm-dd't'hh: mm: ss" zu einer falschen Ortszeit führen. unzureichend zum Parsendaten mit dem 'z' wörtlichen. Dieses Verhalten mag kontraintuitiv erscheinen, da der 'z' wörtlich ausdrücklich Utc.

lösung

vor java 7, analysiert mit dem 'z' literalen Erforderlich das TimeZone auf dem SimpledateFormat -Objekt analysiert. In Java 7 und oben kann das Muster "yyyy-mm-dd't'hh: mm: ssx" verwendet werden, um das UTC-TimeZone-Suffix korrekt zu analysieren und anzuwenden. SimpleDateFormat ("yyyy-mm-dd't'hh: mm: ssx"); Datum Datum = sdf.parse ("2010-04-05t17: 16: 00Z");

Dies wird das Datum als UTC-Zeit richtig analysieren. API. Der folgende Code zeigt, wie Java.time das Datum analysiert:

import Java.time.instant; import Java.time.zonedDatetime; String datestring = "2010-04-05T17: 16: 00Z"; Instant Instant = Instant.Parse (DETESTRING); ZonedDatetime zonedDatetime = Instant.ATzone (zoneId.of ("z"));
  Dieser Ansatz beseitigt die Notwendigkeit komplexer Muster oder explizite Zeitzone -Einstellung.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3