Obtenir le fuseau horaire utilisé par datetime.datetime.fromtimestamp()

Est-il possible, et si oui, comment, pour obtenir le fuseau horaire (c'est à dire le décalage UTC ou un datetime.timezone exemple avec offset) qui est utilisé par datetime.datetime.fromtimestamp() pour convertir un POSIX timestamp (secondes écoulées depuis l'époque) à un datetime objet?

datetime.datetime.fromtimestamp() convertit une POSIX timestamp pour un naïf datetime objet (c'est à dire sans un tzinfo), mais le fait en utilisant le système de paramètres régionaux afin de régler le fuseau horaire local et le décalage UTC qui était en vigueur à l'époque.

Par exemple, à l'aide de la date 2008-12-27 minuit (UTC 40 * 356 * 86400 secondes depuis l'epoch):

>>> datetime.datetime.fromtimestamp(40 * 356 * 86400)
datetime.datetime(2008, 12, 27, 1, 0)

Que l'horodatage est converti en un datetime objet à 1 heures du matin (ce qui n'était à l'époque, ici, dans une CET/CEST fuseau horaire). 100 jours plus tard, voici le résultat:

>>> datetime.datetime.fromtimestamp((40 * 356 + 100) * 86400)
datetime.datetime(2009, 4, 6, 2, 0)

Qui est 2 heures du matin. C'est parce que d'ici là, l'heure d'été est active.

J'avais attendu que datetime.datetime.fromtimestamp() serait le tzinfo il utilise dans le retour de l' datetime exemple, mais il ne le fait pas.

InformationsquelleAutor Feuermurmel | 2013-09-15