【发布时间】:2012-06-30 11:57:42
【问题描述】:
我有一个日期和时间,我试图在 Python 中组合。时间是时区感知的。
但是,当我尝试合并它们时,我得到了错误的时间。
import pytz
from datetime import time, date
NYC_TIME = pytz.timezone('America/New_York')
start_date = date(2012, 7, 7)
start_time = time(hour = 0, tzinfo = NYC_TIME)
combined = datetime.combine(start_date, start_time)
print combined
print NYC_TIME.normalize(combined)
这将打印2012-07-07 00:00:00-05:00,标准化为2012-07-07 01:00:00-04:00。为什么会这样?如何避免?
【问题讨论】:
-
我假设通过“避免它”您希望本地时间保持固定,即使 UTC 偏移量因夏令时而发生变化?
-
我期待,如果我有时间
MIDNIGHT = time(hour = 0, tzinfo = NYC_TIME),无论我将它插入哪个日期,它都会保持在午夜。显然,事实并非如此。