使用Python3,我执行以下操作:
from datetime import datetime
from pytz import timezone
df = datetime(2018, 6, 1, hour=0, minute=0, tzinfo=timezone('US/Eastern'))
print(df)
2018-06-01 00:00:00-04:56
那么,为什么将日期时间设置为-4:56的偏移量?不应该是-5:00吗?为什么要休息4分钟?
答案 0 :(得分:-1)
eastern_tz = timezone('US/Eastern')
eastern_time = eastern_tz.localize(datetime(2018, 6, 1, 0, 0))
这将为您提供正确的结果:
>>> print(eastern_time)
2018-06-01 00:00:00.000000-04:00
原因是python datetime模块时区对象与pytz时区对象不直接兼容。 pytz文档说:
如果要创建本地挂钟时间,则需要使用 本文档中介绍的localize()方法