2016-11-08 32 views
1

我正在將日期時間轉換爲另一個時區(從歐洲/巴黎到美國/瓜德羅普島)。但結果不是我所期望:誤解了時區轉換

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

奇怪的是,第二次你得到了19:51:00 – 2016-11-08 12:31:45

回答

0

這似乎是一個已知的問題,因爲根據pytz documentation

不幸的是使用的tzinfo參數標準的datetime建設者「與pytz許多時區」行不通」。

的文檔提供進一步建議,

處理時間的優選的方式是總是UTC工作,轉換才的localtime產生輸出時,由人來讀取。