Internalisation Java - UTC

UTC signifie temps universel coordonné. C'est la norme de temps et est couramment utilisé dans le monde entier. Tous les fuseaux horaires sont calculés comparativement avec UTC comme décalage. Par exemple, l'heure à Copenhague, au Danemark, est UTC + 1 signifie l'heure UTC plus une heure. Il est indépendant des économies de jour et doit être utilisé pour stocker la date et l'heure dans les bases de données.

Conversion des fuseaux horaires

L'exemple suivant présentera la conversion de différents fuseaux horaires. Nous imprimerons l'heure du jour et l'heure en millisecondes. Le premier variera et le second restera le même.

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

Production

Il imprimera le résultat suivant.

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

Fuseaux horaires disponibles

L'exemple suivant présentera les fuseaux horaires disponibles avec le système.

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

Production

Il imprimera le résultat suivant.

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