Heim > Java > javaLernprogramm > Wie konvertiere ich Java-Zeitstempel in verschiedene Zeitzonen?

Wie konvertiere ich Java-Zeitstempel in verschiedene Zeitzonen?

DDD
Freigeben: 2024-11-19 10:52:02
Original
259 Leute haben es durchsucht

How to Convert Java Timestamps to Different Time Zones?

Konvertieren von Java-Zeitstempeln in verschiedene Zeitzonen

In Java sind Zeitstempel zunächst standardmäßig in Greenwich Mean Time (GMT) angegeben. Wenn jedoch Benutzereingaben aus verschiedenen Zeitzonen verarbeitet werden, ist die Konvertierung von Zeitstempeln in die spezifische Zeitzone eines Benutzers erforderlich.

Stellen Sie sich dieses Szenario vor: Ein Benutzer in Eastern Standard Time (EST) stellt einen Zeitstempel von „5/1“ bereit /2008 18:12 Uhr (EST)“. Der Webdienst erwartet den Zeitstempel in GMT, nämlich „01.05.2008 18:12 Uhr (GMT)“.

Um Zeitstempel über verschiedene Zeitzonen hinweg genau zu konvertieren, ist ein benutzerdefinierter Konverter erforderlich. Hier ist der Code für „convertToGmt()“:

public static Calendar convertToGmt(Calendar cal) {

    Date date = cal.getTime();
    TimeZone tz = cal.getTimeZone();

    // Milliseconds since epoch GMT
    long msFromEpochGmt = date.getTime();

    // Current offset from GMT at current date
    int offsetFromUTC = tz.getOffset(msFromEpochGmt);

    // Create a GMT calendar, set time, and add offset
    Calendar gmtCal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
    gmtCal.setTime(date);
    gmtCal.add(Calendar.MILLISECOND, offsetFromUTC);

    return gmtCal;
}
Nach dem Login kopieren

Diese Methode konvertiert den Eingabekalender in einen GMT-Kalender und stellt so sicher, dass der Zeitstempel für den Webdienst in GMT korrekt ist. Beachten Sie, dass diese Methode derzeit keine Sommerzeitumstellungen berücksichtigt.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich Java-Zeitstempel in verschiedene Zeitzonen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage