Je dois créer un objet java.util.Date avec un fuseau horaire australien. cet objet est requis pour les bibliothèques de balises utilisées dans les composants en aval (donc je suis coincé avec Date).Problème lors de la conversion du calendrier en java.util.Date
Voici ce que j'ai essayé:
TimeZone timeZone = TimeZone.getTimeZone("Australia/Sydney");
GregorianCalendar defaultDate = new GregorianCalendar(timeZone);
Date date = defaultDate.getTime();
Cependant, "date" renvoie toujours l'heure (dans mon cas, ET). Qu'est-ce que je fais mal ici? Est-il même possible de définir un objet Date avec un fuseau horaire différent?
Mise à jour:
Merci pour les réponses! Cela fonctionne si je veux afficher la date formatée sous forme de chaîne, mais pas si je veux renvoyer un objet date. Ex:
Date d = new Date();
DateFormat df = new SimpleDateFormat();
df.setTimeZone(TimeZone.getTimeZone("Australia/Sydney"));
String formattedDate = df.format(d); // returns Sydney date/time
Date myDate = df.parse(formattedDate); // returns local time(ET)
Je pense que je vais finir par retravailler notre taglib de date.
double possible de [Comment gérer TimeZones calendrier en utilisant Java?] (Http://stackoverflow.com/questions/230126/how-to-handle-calendar-timezones-using-java) – duffymo