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 codeet à l'affichage, j'obtiens donc une heure en trop.Code:
1
2
3 DateFormat df = new SimpleDateFormat("hh:mm:ss"); Date d = new Date(seconds * 1000); System.out.println(df.format(d));
La solution de facilité serait de fairemais j'aimerais éviter cette solution pour faciliter la maintenance du code par la suite.Code:Date d = new Date((seconds * 1000) - 3600000);
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 Calendarsans plus de réussite. J'aimerais vos suggestions :)Code:
1
2
3
4 Calendar c = Calendar.getInstance(); c.clear(); seconds = lineContent.substring(11, 17); c.setTimeInMillis(Integer.valueOf(seconds) * 1000);