Heim >Java >javaLernprogramm >Warum zeigt SimpleDateFormat('yyyy-MM-dd'T'HH:mm:ss'Z'') IST anstelle von UTC an?

Warum zeigt SimpleDateFormat('yyyy-MM-dd'T'HH:mm:ss'Z'') IST anstelle von UTC an?

Barbara Streisand
Barbara StreisandOriginal
2024-12-16 10:57:11760Durchsuche

Why Does SimpleDateFormat(

SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'") Zeigt die Zeitzone als IST an

The Der Konstruktor SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'") dient zum Parsen Datumszeichenfolgen im ISO-8601-Format. Das Suffix „Z“ allein legt jedoch nicht die Zeitzone für das analysierte Datum fest.

Ihr Problem tritt auf, wenn Sie dieses Format verwenden, um eine Datumszeichenfolge wie „2013-09-29T18:46:19Z“ zu analysieren. Da „Z“ die Zulu-Zeit (UTC) darstellt, können Sie davon ausgehen, dass das analysierte Datum als UTC angezeigt wird. Es wird jedoch die Zeitzone IST (Indian Standard Time) angezeigt.

Verstehen des Problems

Der Schlüssel hier ist, dass Sie die nicht explizit festgelegt haben Zeitzone für das SimpleDateFormat-Objekt. Daher wird standardmäßig die Standardzeitzone der JVM verwendet, in Ihrem Fall wahrscheinlich IST. Während also die Datumszeichenfolge das Suffix „Z“ verwendet, um UTC anzugeben, analysiert das SimpleDateFormat-Objekt sie in IST.

Problem lösen

Um dieses Problem zu beheben und Stellen Sie sicher, dass das analysierte Datum in UTC angezeigt wird, und legen Sie die Zeitzone für SimpleDateFormat explizit auf GMT fest mit:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));

Indem Sie die Zeitzone auf GMT setzen, weisen Sie SimpleDateFormat an, die Datumszeichenfolge in UTC zu analysieren, auch wenn sie das Suffix „Z“ hat. Dies garantiert, dass das analysierte Datum korrekt in UTC angezeigt wird.

Das obige ist der detaillierte Inhalt vonWarum zeigt SimpleDateFormat('yyyy-MM-dd'T'HH:mm:ss'Z'') IST anstelle von UTC an?. 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