2016-11-08 6 views
1

私はdatetimeを別のタイムゾーン(ヨーロッパ/パリ/アメリカ/グアドループ)に変換しています。しかし、結果は私が期待するものではありません。誤ったタイムゾーン変換

import pytz 
import datetime 

tzinfo = pytz.timezone('Europe/Paris') 
datetime_with_timezone = datetime.datetime(
    2000, 1, 1, 0, 0, 0, tzinfo=tzinfo 
) 

print(datetime_with_timezone) 
new_tzinfo = pytz.timezone('America/Guadeloupe') 
print(datetime_with_timezone.astimezone(new_tzinfo)) 

が生成されます

2000-01-01 00:00:00+00:09 
1999-12-31 19:51:00-04:00 

なぜdatetime_with_timezone+00:09が含まれていますか?

+0

奇妙なことに、2回目に「19:51:00」 –

答えて

0

これはpytz documentationによると、既知の問題のようです:

は残念ながらのtzinfoの引数を使用して、標準のdatetimeコンストラクターズ多くのタイムゾーンのためのpytzで「'は動作しません」。

ドキュメントには、時代を扱うの好ましい方法は、常に人間によって読み取られる出力を生成するときにのみlocaltimeのために変換し、UTCで働くことです

というさらなるアドバイスを提供しています。

関連する問題