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!