Heim  >  Artikel  >  Java  >  Wie konvertiere ich einen Zeitstempel von der lokalen Zeitzone in GMT in Java?

Wie konvertiere ich einen Zeitstempel von der lokalen Zeitzone in GMT in Java?

Barbara Streisand
Barbara StreisandOriginal
2024-11-16 04:22:03273Durchsuche

How to Convert a Timestamp from Local Time Zone to GMT in Java?

So gehen Sie mit Zeitzonen in Zeitstempelberechnungen in Java um

Bei der Arbeit mit Zeitstempeln in Java-Anwendungen ist es wichtig, Zeitzonen zu berücksichtigen Gewährleistung präziser Berechnungen und Datenverarbeitung. In diesem speziellen Szenario gibt ein Benutzer möglicherweise einen Zeitstempel in seiner lokalen Zeitzone (EST) ein, der Dienst erwartet jedoch, dass er in GMT vorliegt.

Um den Zeitstempel von der lokalen Zeitzone des Benutzers in GMT umzuwandeln, haben wir Der Unterschied in den Zeitversätzen muss berücksichtigt werden. Hier ist ein Beispiel, wie Sie diese Herausforderung mithilfe der Kalenderklasse von Java meistern können:

public static Calendar convertToGmt(Calendar cal) {

    Date date = cal.getTime();
    TimeZone tz = cal.getTimeZone();
    log.debug("input calendar has date [" + date + "]");

    // Convert to milliseconds since epoch in GMT
    long msFromEpochGmt = date.getTime();

    // Get offset from UTC in milliseconds
    int offsetFromUTC = tz.getOffset(msFromEpochGmt);
    log.debug("offset is " + offsetFromUTC);

    // Create GMT calendar and adjust date based on offset
    Calendar gmtCal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
    gmtCal.setTime(date);
    gmtCal.add(Calendar.MILLISECOND, offsetFromUTC);
    log.debug("Created GMT cal with date [" + gmtCal.getTime() + "]");

    return gmtCal;
}

Mit dieser Methode können Sie den Zeitstempel in GMT konvertieren und so sicherstellen, dass er den Erwartungen des Dienstes entspricht, unabhängig vom Standort oder der Zeit des Benutzers Zoneneinstellungen.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich einen Zeitstempel von der lokalen Zeitzone in GMT in Java?. 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