0
import datetime
import pytz # install from pip
US_PACIFIC_TIMEZONE = pytz.timezone("US/Pacific")
dt = datetime.datetime.utcnow().replace(tzinfo=US_PACIFIC_TIMEZONE)
print(dt == dt.replace(tzinfo=US_PACIFIC_TIMEZONE)) # True
dt = datetime.datetime.now(tz=US_PACIFIC_TIMEZONE)
print(dt == dt.replace(tzinfo=US_PACIFIC_TIMEZONE)) # False
所以看起来datetime.datetime.now(tz=..)
未设置为我指定的时区...莫名其妙时区行为
它看起来像时区是使用datetime.now
时设置的,但它通过一个小时的区域的关闭。
这是为什么?
使用'localize',而不是'replace'。阅读[pytz文档](http://pythonhosted.org/pytz)。 – 2015-04-03 21:00:11
@MattJohnson:'.now(tz)'按原样工作。即使本地时区为“US/Pacific”(这在后期DST转换结束时失败,而前者在没有问题的情况下仍然运行,您不应该在这里使用'tz.localize(.now())'模糊的当地时间)。 – jfs 2015-04-03 21:08:30
@ J.F.Sebastian - 是的,同意“现在”的情况。我一般都在说话。谢谢。 – 2015-04-03 22:26:30