[JAVA] Problème Calendar - GregorianCalendar
Résolu
Bonjour,
J'ai deux dates à rentrer :
- setBeginDate(date1);
- setEndDate(date2);
date1 et date2 doivent être de la forme 2012-08-17T14:28:20+02:00.
Mais je ne comprends pas très bien comment faire en sorte d'avoir le +02:00 à la fin... Il faut indiquer le lieu de localisation, je pense mais ne sais pas comment faire...
Merci :)
--
Maintenant, je suis.
J'ai deux dates à rentrer :
- setBeginDate(date1);
- setEndDate(date2);
date1 et date2 doivent être de la forme 2012-08-17T14:28:20+02:00.
Mais je ne comprends pas très bien comment faire en sorte d'avoir le +02:00 à la fin... Il faut indiquer le lieu de localisation, je pense mais ne sais pas comment faire...
Merci :)
--
Maintenant, je suis.
1 réponse
-
ModérateurDans le Formatter, ton +02:00 correspond au 'z' (même s'il est affiché +0200)
System.out.printf("%1$tFT%1$tT%1$tz\n",new GregorianCalendar().getTime());Mais ce n'est pas la localisation qu'il faut changer (qui n'a d'influence que sur la langue du pays, sa monnaie...) mais le fuseau horaire (certains pays ont plusieurs fuseaux horaires).
Attention : les fuseaux horaires sont enregistrés en millième de secondes !
Calendar calendar = new GregorianCalendar(); System.out.printf("%+d\n",calendar.get(Calendar.ZONE_OFFSET)/3600000); calendar.setTimeZone(TimeZone.getTimeZone("GMT-8")); System.out.printf("%+d\n",calendar.get(Calendar.ZONE_OFFSET)/3600000); calendar.set(Calendar.ZONE_OFFSET,4*3600000); System.out.printf("%+d\n",calendar.get(Calendar.ZONE_OFFSET)/3600000)
Et directement avec le constructeur :
calendar = new GregorianCalendar(TimeZone.getTimeZone("GMT+6")); System.out.printf("%+d\n",calendar.get(Calendar.ZONE_OFFSET)/3600000);La confiance n'exclut pas le contrôle