Aller au contenu

Date convertie depuis l'heure Unix... décalée de deux heures?


dodoecchi

Recommended Posts

Salut à tous !

Travaillant sur un projet d'emploi du temps, je me suis heurté à un souci assez étrange

je récupère l'heure depuis un webservice au format unix. pour en extraire la date et l'heure j'utilise un GregorianCalendar avec setTimeInMillis

problème : sur Android 2, l'heure est deux heures en avance! Mais pas avec Ice Cream Sandwich!

pour mettre le problème en avant j'ai isolé le bug dans un projet de test (téléchargeable ici)

ma valeur de test est 1282550400000, qui correspond au lundi 23 août 2010, à 8h00

résultats :

sur mon téléphone 2.3.5 *

dmmLJs.png

sur l'émulateur 4.0.3

FEoeJs.png

voilà la chose...

je ne sais pas pour les autres versions d'android, les machines virtuelle mettent des années à démarrer donc peut être un jour ...

j'ai tenté le new Date(milli), idem

changer le timezone, idem

quelqu'un a-t-il déja eu ce problème? je cherche une solution :(

merci d'avance

Dodo

PS : l'affichage sur le motorola Razr donne cette espece du bordure... si quelqu'un une idée je suis preneur

Lien vers le commentaire
Partager sur d’autres sites

Le formatter n'influe pas sur l'heure qu'il est, mais sur la représentation de celle-ci. Une Date (et sa représentation en millisecondes) correspond à un instant t, qui peut être représenté de différentes manières. Ainsi quand il est 1282550400000 depuis l'epoch Unix, on peut aussi dire que cela correspond au 23/08/2010 8h00 UTC/GMT, ou 23/08/2010 9h00 à Londres (GMT+1) ou 23/08/2010 10h00 à Paris (GMT+2) ou 22/08/2010 22h00 à Honolulu (GMT-10). Mais dans tous les cas, cela représente le même instant t

Et le date formatter te permet donc de choisir la timezone dans laquelle tu veux afficher cet instant. Pour t'en rendre compte, tu peux afficher la timezone, en ajoutant ZZZ dans la chaine de format

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...