Internalizzazione Java - UTC
UTC sta per Co-Ordined Universal Time. È lo standard temporale ed è comunemente usato in tutto il mondo. Tutti i fusi orari vengono calcolati in modo comparativo con l'UTC come offset. Ad esempio, l'ora a Copenaghen, in Danimarca, è UTC + 1 significa ora UTC più un'ora. È indipendente dal risparmio di luce diurna e deve essere utilizzato per memorizzare la data e l'ora nei database.
Conversione dei fusi orari
L'esempio seguente mostrerà la conversione di vari fusi orari. Stamperemo l'ora del giorno e l'ora in millisecondi. Il primo varierà e il secondo rimarrà lo stesso.
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());
}
}
Produzione
Stamperà il seguente risultato.
UTC: 12
UTC: 1511956997540
CPH: 13
CPH: 1511956997540
NYC: 7
NYC: 1511956997540
Fusi orari disponibili
L'esempio seguente mostrerà i fusi orari disponibili con il sistema.
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);
}
}
}
Produzione
Stamperà il seguente risultato.
Timezone = Africa/Abidjan
Timezone = Africa/Accra
...
Timezone = VST
Stampa