17
我試圖將始終處於太平洋時間的幼稚時間戳轉換爲UTC時間。在下面的代碼中,我可以指定我擁有的這個時間戳是在太平洋時間,但它似乎不知道它應該是UTC的-7小時的偏移量,因爲它只有10/21,而DST有尚未結束。Python:如何在不知道DST是否生效的情況下將時區感知時間戳轉換爲UTC
腳本:
import pytz
import datetime
naive_date = datetime.datetime.strptime("2013-10-21 08:44:08", "%Y-%m-%d %H:%M:%S")
localtz = pytz.timezone('America/Los_Angeles')
date_aware_la = naive_date.replace(tzinfo=localtz)
print date_aware_la
輸出:
2013-10-21 08:44:08-08:00
這應該有-07的偏移:00至DST在11月3日結束。如何在DST正確且無效時讓我的時區知曉日期具有正確的偏移量? Pytz是否足夠聰明地知道DST將在11月3日生效?
總體目標:我只是試圖將時間戳轉換爲UTC,因爲我知道我將在太平洋時間獲得一個時間戳,而不顯示DST是否有效。我沒有從python本身生成這個日期,所以我不能僅僅使用utc_now()。
斷言'naive_date'是明確的,並且存在,你可以通過'is_dst = None'到'本地化()';否則可能會默默地選擇錯誤的時間。 – jfs