J'essaie de convertir le fuseau horaire datetime
objet à l'UTC, puis de retour à son fuseau horaire original. J'ai un extrait suivant
t = datetime(
2013, 11, 22, hour=11, minute=0,
tzinfo=pytz.timezone('Europe/Warsaw')
)
maintenant à Ipython:
In [18]: t
Out[18]: datetime.datetime(
2013, 11, 22, 11, 0, tzinfo=<DstTzInfo 'Europe/Warsaw' WMT+1:24:00 STD>
)
et maintenant essayons de faire la conversion en UTC et à l'arrière. Je m'attendrais à avoir la même représentation que:
In [19]: t.astimezone(pytz.utc).astimezone(pytz.timezone('Europe/Warsaw'))
Out[19]: datetime.datetime(
2013, 11, 22, 10, 36, tzinfo=<DstTzInfo 'Europe/Warsaw' CET+1:00:00 STD>
)
Pourtant, nous voyons que Out[18]
et Out[19]
différer. Ce qui se passe?
La documentation http://pytz.sourceforge.net/ états "Malheureusement, à l'aide de l'argument tzinfo des constructeurs DateTime standard" ne fonctionne pas "avec Pytz pour de nombreuses foiszones". Le code:
t = datetime(
2013, 5, 11, hour=11, minute=0,
tzinfo=pytz.timezone('Europe/Warsaw')
)
ne fonctionne pas selon cela, vous devez plutôt utiliser la méthode localize:
t = pytz.timezone('Europe/Warsaw').localize(
datetime(2013, 5, 11, hour=11, minute=0))