J'ai un horodatage utc au format IS8601 et j'essaie de le convertir en temps unix. Ceci est ma session de console:Comment spécifier le fuseau horaire (UTC) lors de la conversion en heure Unix? (Python)
In [9]: mydate
Out[9]: '2009-07-17T01:21:00.000Z'
In [10]: parseddate = iso8601.parse_date(mydate)
In [14]: ti = time.mktime(parseddate.timetuple())
In [25]: datetime.datetime.utcfromtimestamp(ti)
Out[25]: datetime.datetime(2009, 7, 17, 7, 21)
In [26]: datetime.datetime.fromtimestamp(ti)
Out[26]: datetime.datetime(2009, 7, 17, 2, 21)
In [27]: ti
Out[27]: 1247815260.0
In [28]: parseddate
Out[28]: datetime.datetime(2009, 7, 17, 1, 21, tzinfo=<iso8601.iso8601.Utc object at 0x01D74C70>)
Comme vous pouvez le voir, je ne peux pas obtenir l'heure correcte. L'heure est devant par un si j'utilise fromtimestamp(), et il est en avance de six heures si j'utilise utcfromtimestamp()
Un conseil?
Merci!
'timegm() nombre de secondes' de retour entier. Il ignore les fractions de seconde. – jfs