simpledateFormat ("yyyy-mm-dd'hh: mm: ss'z '") Ausgabe: IST TimeZone
In Java können Sie mit der SimpledateFormat -Klasse Daten nach einem vordefinierten Muster formatieren und analysieren. Wenn Sie das Muster "yyyy-mm-dd't'hh: mm: ss'z '" verwenden, wird erwartet, dass in der UTC-Zeitzone ein Datum und eine Uhrzeit dargestellt werden. Es entsteht jedoch ein Problem, wenn ein solcher String analysiert wird.
Betrachten Sie den folgenden Code:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); Date date = sdf.parse("2013-09-29T18:46:19Z"); System.out.println(date);
Die erwartete Ausgabe wäre ein Datum und eine Uhrzeit in der UTC -Zeitzone. Viele Benutzer haben jedoch berichtet, dass stattdessen Datum und Uhrzeit in der TimeZone (Indian Standard Time) angezeigt werden. Dies führt zu Verwirrung und falschem Date -Handling.
Lösung: Setzen Zeitzone explizit. Um dies zu korrigieren, müssen Sie die Zeitzone manuell auf UTC einstellen. So machen Sie es:
SimpleDateFormat sdf = new SimpledateFormat ("yyyy-mm-dd'hh: mm: ss'z '"); sdf.settimezone (timezone.getTimezone ("gmt")); Datum Datum = SDF.Parse ("2013-09-29T18: 46: 19z"); System.out.println (Datum);Durch Einstellen der Zeitzone in GMT interpretiert der SimpleDateFormat -Parser die Eingabezeichenfolge korrekt und zeigt das Datum und die Uhrzeit in der erwarteten UTC -Zeitzone an.
.
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