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