Bonjour, bonsoir.

Je voudrais ecrire une fonction qui fait un changement de fuseau horaire qui se relève plus compliqué que prévue.

pour l'instant j'en suis la:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
private Date convTimeZone(String time, String sourceTZ, String destTZ) throws ParseException {
 
TimeZone srcTZ = TimeZone.getTimeZone(sourceTZ);
TimeZone dstTZ = TimeZone.getTimeZone(destTZ);
final String DATE_TIME_FORMAT = "yyyyMMdd-HH:mm:ss";
 
SimpleDateFormat sdf = new SimpleDateFormat(DATE_TIME_FORMAT);
Date specifiedTime;
sdf.setTimeZone(srcTZ );
 
specifiedTime = sdf.parse(time);
sdf.setTimeZone(dstTZ );
SimpleDateFormat sdf2 = new SimpleDateFormat(DATE_TIME_FORMAT);
 
Date outputDate = sdf2.parse(sdf.format(specifiedTime));
return outputDate;
}

mais ca ne marche pas...

genre si j'appel

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
convTimeZone("20090202-12:00:00","Asia/Kuala_Lumpur","Europe/Brussels")

Ca me retourne 13h a la place de 5h (Kuala Lumpur est a GMT+8, et bxl GMT+1 --> 12-7=5)

Et inversement je voudrais que quand je passe

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
convTimeZone("20090202-12:00:00","Europe/Brussels","Asia/Kuala_Lumpur")
Ca me retourne 19h...

Et quid des heures d'été et d'hiver?

j'ai deja trouvé ca comme lien:
http://mindprod.com/jgloss/timezone.html
http://www.velocityreviews.com/forum...o-another.html
et la doc sun:
http://java.sun.com/j2se/1.4.2/docs/...ateFormat.html

Mais j'y arrive tjs pas.

Si qqun voit mon erreur, une piste, un conseil, un avis.
Merci d'avance