Fuseau horaire problème en Java XMLGregorianCalendar

J'espère que ce n'est pas une répétition.
J'ai vérifié d'autres recherches ici et toutes semblent parler de "l'affichage" de la date dans le bon Fuseau horaire à l'aide au format SimpleDateFormat.

Cependant, mon problème est que je obtenir un XMLGregorianCalendar Objet qui est de nous dire dans "CET".

Je dois trouver le format de cet objet et de l'envoyer à l'heure actuelle aussi dans le même Fuseau horaire que le serveur.

Pour exemple: j'ai besoin d'un XMLGregorianCalendar Objet qui me renvoie dans ce format(avec le Fuseau horaire):

2012-09-19T15:23:36.421+02:00

Alors j'ai essayé ce bout de code suivant, qui semble être la seule à retourner le temps dans le Fuseau horaire local 🙁

TimeZone utc = TimeZone.getTimeZone("CET");
GregorianCalendar gc = new GregorianCalendar();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ssZ");
df.setTimeZone(utc);
System.out.println(" - Gregorian UTC [" + df.format(gc.getTime()) + "]")

XMLGregorianCalendar currServTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc);

System.out.println("currServTime is "+currServTime);
Si cette lecture TimeZone utc = TimeZone.getTimeZone("UTC"); pas CET?
Assurez-vous. J'ai essayé plusieurs exemple des chaînes de caractères pour être sûr!

OriginalL'auteur user907810 | 2012-09-19