我在pytz的.localize()函数中遇到了一些奇怪的问题。 有时它不会对本地化的日期时间进行调整:
.localize行为:
>>> tz
>>> d
datetime.datetime(2009, 9, 2, 14, 45, 42, 91421)
>>> tz.localize(d)
datetime.datetime(2009, 9, 2, 14, 45, 42, 91421,
tzinfo=)
>>> tz.normalize(tz.localize(d))
datetime.datetime(2009, 9, 2, 14, 45, 42, 91421,
tzinfo=)
如您所见,由于本地化/规范化操作,时间没有改变。但是,如果使用.replace:
>>> d.replace(tzinfo=tz)
datetime.datetime(2009, 9, 2, 14, 45, 42, 91421,
tzinfo=)
>>> tz.normalize(d.replace(tzinfo=tz))
datetime.datetime(2009, 9, 2, 15, 1, 42, 91421,
tzinfo=)
这似乎对日期时间进行了调整。
问题是-哪个正确,为什么别人错了?