如何使用Java 處理日曆時區
問題:
問題:您有一個時間戳您有一個時間戳記的應用程式可能源自任何時區。但是,資料必須傳送到假定資料始終為 GMT 的 WebService。您需要在使用者不知情的情況下將使用者的輸入時間從本地時區轉換為 GMT。
答案:import java.util.Calendar; import java.util.TimeZone; public class ConvertTimeZone { public static void main(String[] args) { // Example input time (EST) Calendar input = Calendar.getInstance(TimeZone.getTimeZone("EST")); input.set(2008, Calendar.MAY, 1, 18, 12, 0); // Create a Calendar in GMT Calendar gmt = convertToGmt(input); // Output the converted time (GMT) System.out.println(gmt.getTime()); // 2008-05-01 11:12:00 GMT } public static Calendar convertToGmt(Calendar cal) { Date date = cal.getTime(); TimeZone tz = cal.getTimeZone(); long msFromEpochGmt = date.getTime(); // Convert to milliseconds since epoch in GMT int offsetFromUTC = tz.getOffset(msFromEpochGmt); // Create a new Calendar in GMT and adjust for the offset Calendar gmtCal = Calendar.getInstance(TimeZone.getTimeZone("GMT")); gmtCal.setTime(date); gmtCal.add(Calendar.MILLISECOND, offsetFromUTC); return gmtCal; } }
以上是如何在 Java 中將任何時區的時間戳記轉換為 GMT?的詳細內容。更多資訊請關注PHP中文網其他相關文章!