如何在 Python 中组合时区感知日期和时间



我有一个日期和时间,我正在尝试在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 等效值。

相关内容

  • 没有找到相关文章

最新更新