Nội bộ hóa Java - UTC

UTC là viết tắt của Giờ quốc tế phối hợp. Nó là tiêu chuẩn thời gian và được sử dụng phổ biến trên toàn thế giới. Tất cả các múi giờ đều được tính toán so sánh với UTC là bù đắp. Ví dụ: thời gian ở Copenhagen, Đan Mạch là UTC + 1 có nghĩa là thời gian UTC cộng thêm một giờ. Nó độc lập với Tiết kiệm ánh sáng ban ngày và nên được sử dụng để lưu trữ ngày và giờ trong cơ sở dữ liệu.

Chuyển đổi múi giờ

Ví dụ sau sẽ giới thiệu việc chuyển đổi các múi giờ khác nhau. Chúng tôi sẽ in giờ trong ngày và thời gian tính bằng mili giây. Đầu tiên sẽ thay đổi và thứ hai sẽ vẫn như cũ.

IOTester.java

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());
   }
}

Đầu ra

Nó sẽ in ra kết quả sau.

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

Múi giờ khả dụng

Ví dụ sau sẽ hiển thị các múi giờ có sẵn với hệ thống.

IOTester.java

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);
      }
   }
}

Đầu ra

Nó sẽ in ra kết quả sau.

Timezone = Africa/Abidjan
Timezone = Africa/Accra
...
Timezone = VST
In