Java obtenir l'heure actuelle en Israël


Je suis tring pour obtenir l'heure actuelle en Israël en java c'est mon code:

TimeZone timeZone = TimeZone.getTimeZone("Israel");
Calendar calendar = Calendar.getInstance();
calendar.setTimeZone(timeZone);

DateFormat timeFormat = new SimpleDateFormat("HH:mm");
String curTime=timeFormat.format(calendar.getTime());

Mais il est toujours me apporter 7 heures de moins de l'heure actuelle en Israël quelqu'un ont idée comment atteindre l'heure actuelle en Israël?

Author: ilay zeidman, 2014-05-10

3 answers

Vous définissez le fuseau horaire dans votre calendrier, mais vous devriez le définir dans votre DateFormat. De plus, vous devriez utiliser Asia/Jerusalem comme nom de fuseau horaire. Vous n'avez pas besoin d'un Calendar du tout-juste new Date() donne l'instant actuel:

DateFormat timeFormat = new SimpleDateFormat("HH:mm");
timeFormat.setTimeZone(TimeZone.getTimeZone("Asia/Jerusalem"));
String curTime = timeFormat.format(new Date());

Vous devez noter que le fuseau horaire à Jérusalem est particulièrement difficile à prévoir (il fluctue beaucoup), donc si la source de données de fuseau horaire utilisée par votre JVM est obsolète, elle peut être inexacte.

 11
Author: Jon Skeet, 2014-05-10 19:33:15

Je ne sais pas si "Israël" est un fuseau horaire valide, essayez "Asie / Jérusalem", jetez un oeil à ce post

 3
Author: Konstantinos Chalkias, 2017-05-23 11:54:12

Essayer avec Locale avec TimeZone si vous souhaitez afficher la date aussi de temps dans votre langue.

Locale aLocale = new Locale.Builder().setLanguage("iw").setRegion("IL").build();
DateFormat timeFormat = new SimpleDateFormat("MMM y HH:mm", aLocale);
timeFormat.setTimeZone(TimeZone.getTimeZone("Asia/Jerusalem"));
String curTime = timeFormat.format(new Date());

Note: Ce n'est pas la réponse à cette question mais juste ici si au cas où OP cherche plus loin la date d'analyse en langue israélienne.

 2
Author: Braj, 2014-05-10 19:50:21