这是预期的行为还是datetime timedelta中的错误?

这是预期的行为还是datetime timedelta中的错误?,datetime,python-3.x,pytz,Datetime,Python 3.x,Pytz,返回datetime.datetime(2013,3,10,2,0,tzinfo=) 它应该返回datetime.datetime(2013,3,10,3,0,tzinfo=) 您可以通过在添加小时数后执行astimezone(ppt)来解决这个明显的bug 那么,这是一个bug吗?我做错了吗?或者是在添加时间后进行代码刷新?在执行日期时间算法时,需要再次使用时区对象调用normalize(): from datetime import datetime timedelta import pyt

返回
datetime.datetime(2013,3,10,2,0,tzinfo=)

它应该返回
datetime.datetime(2013,3,10,3,0,tzinfo=)

您可以通过在添加小时数后执行
astimezone(ppt)
来解决这个明显的bug


那么,这是一个bug吗?我做错了吗?或者是在添加时间后进行代码刷新?

在执行日期时间算法时,需要再次使用时区对象调用
normalize()

from datetime import datetime timedelta
import pytz

ppt = pytz.timezone('US/Pacific')
first = ppt.localize(datetime(2013, 3, 10, 0, 0, 0))
first+=timedelta(hours=2)
first
首先 datetime.datetime(2013,3,10,2,0,tzinfo=) >>>ppt.规范化(第一) datetime.datetime(2013,3,10,3,0,tzinfo=) 如前所述:

此外,如果对跨越DST边界的本地时间执行日期算术,则结果可能位于不正确的时区。提供了一个
normalize()
方法来更正此问题


嗯,我想我错过了医生的那部分。谢谢
>>> first
datetime.datetime(2013, 3, 10, 2, 0, tzinfo=<DstTzInfo 'US/Pacific' PST-1 day, 16:00:00 STD>)
>>> ppt.normalize(first)
datetime.datetime(2013, 3, 10, 3, 0, tzinfo=<DstTzInfo 'US/Pacific' PDT-1 day, 17:00:00 DST>)