Java İçselleştirme - UTC

UTC, Koordineli Evrensel Saat anlamına gelir. Zaman standardıdır ve dünya genelinde yaygın olarak kullanılmaktadır. Tüm saat dilimleri, uzaklık olarak UTC ile karşılaştırmalı olarak hesaplanır. Örneğin, Kopenhag'da saat UTC + 1, UTC saati artı bir saat anlamına gelir. Gün ışığı tasarrufundan bağımsızdır ve veri tabanlarında tarih ve saati saklamak için kullanılmalıdır.

Saat dilimlerinin dönüşümü

Aşağıdaki örnek, çeşitli saat dilimlerinin dönüşümünü gösterecektir. Milisaniye cinsinden günün saatini ve saatini yazdıracağız. Birincisi değişecek ve ikincisi aynı kalacaktır.

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

Çıktı

Aşağıdaki sonucu yazdıracaktır.

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

Kullanılabilir Saat Dilimleri

Aşağıdaki örnek, sistemde kullanılabilen saat dilimlerini gösterecektir.

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

Çıktı

Aşağıdaki sonucu yazdıracaktır.

Timezone = Africa/Abidjan
Timezone = Africa/Accra
...
Timezone = VST
Yazdır