我正在尝试将始终在太平洋时间的天真时间戳转换为 UTC 时间。在下面的代码中,我可以指定我拥有的这个时间戳是太平洋时间,但它似乎不知道它应该是距 UTC 的 -7 小时的偏移量,因为它只有 10/21 并且 DST 有还没有结束。
剧本:
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
在 DST 于 11 月 3 日结束之前,它的偏移量应为 -07:00。当 DST 生效和未生效时,如何让我的时区感知日期具有正确的偏移量?pytz 是否足够聪明,知道 DST 将于 11 月 3 日生效?
总体目标:我只是想将时间戳转换为 UTC,因为我知道我将在太平洋时间得到一个时间戳,而没有任何迹象表明 DST 是否有效。我不是从 python 本身生成这个日期,所以我不能只使用 utc_now()。