Bonjour à tous,

Après avoir parcouru le net et le forum, je vois que le problème de "décalage-d'heure-dans-la-date-en-raison-de-la-locale-ou-de-la-TimeZone" a déja été traité mais je n'ai cependant pas trouvé de réponse satisfaisante à mon problème pourtant simple.

Voila le truc : je récupère une chaine de caractères contenant un nombre de secondes et l'afficher sous la forme "hh:mm:ss". Donc en bon programmeurs Java que je suis je code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
DateFormat df = new SimpleDateFormat("hh:mm:ss");
Date d = new Date(seconds * 1000);
System.out.println(df.format(d));
et à l'affichage, j'obtiens donc une heure en trop.
La solution de facilité serait de faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Date d = new Date((seconds * 1000) - 3600000);
mais j'aimerais éviter cette solution pour faciliter la maintenance du code par la suite.

J'ai déja essayé de changer le TimeZone de mon objet DateFormat sans succès. J'ai également essayé de passer par un objet Calendar
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
		Calendar c = Calendar.getInstance();
		c.clear();
		seconds = lineContent.substring(11, 17);
		c.setTimeInMillis(Integer.valueOf(seconds) * 1000);
sans plus de réussite. J'aimerais vos suggestions