Java國際化 - UTC



UTC代表協調世界時 (Coordinated Universal Time)。它是一個時間標準,在世界範圍內廣泛使用。所有時區都是相對於UTC的偏移量來計算的。例如,丹麥哥本哈根的時間是UTC+1,表示UTC時間加一小時。它獨立於夏令時,應用於資料庫中儲存日期和時間。

時區轉換

以下示例將展示各種時區的轉換。我們將列印一天中的小時和毫秒數。第一個會變化,第二個會保持不變。

示例

import java.text.ParseException;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.TimeZone;

public class I18NTester {
   public static void main(String[] args) throws ParseException {
   
      Calendar date = new GregorianCalendar();

      date.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
      date.set(Calendar.HOUR_OF_DAY, 12);

      System.out.println("UTC: " + date.get(Calendar.HOUR_OF_DAY));
      System.out.println("UTC: " + date.getTimeInMillis());

      date.setTimeZone(TimeZone.getTimeZone("Europe/Copenhagen"));
      System.out.println("CPH: " + date.get(Calendar.HOUR_OF_DAY));
      System.out.println("CPH: " + date.getTimeInMillis());

      date.setTimeZone(TimeZone.getTimeZone("America/New_York"));
      System.out.println("NYC: " + date.get(Calendar.HOUR_OF_DAY));
      System.out.println("NYC: " + date.getTimeInMillis());
   }
}

輸出

它將列印以下結果。

UTC: 12
UTC: 1511956997540
CPH: 13
CPH: 1511956997540
NYC: 7
NYC: 1511956997540

可用時區

以下示例將展示系統中可用的時區。

示例

import java.text.ParseException;
import java.util.TimeZone;

public class I18NTester {
   public static void main(String[] args) throws ParseException {
      String[] availableIDs = TimeZone.getAvailableIDs();

      for(String id : availableIDs) {
         System.out.println("Timezone = " + id);
      }
   }
}

輸出

它將列印以下結果。

Timezone = Africa/Abidjan
Timezone = Africa/Accra
...
Timezone = VST
廣告
© . All rights reserved.