为啥我在 python 中看到时区异常[重复]
Posted
技术标签:
【中文标题】为啥我在 python 中看到时区异常[重复]【英文标题】:Why am I seeing timezone strangeness in python [duplicate]为什么我在 python 中看到时区异常[重复] 【发布时间】:2018-12-01 01:06:37 【问题描述】:使用 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 分钟?
【问题讨论】:
这就是为什么我在所有与时间相关的事情上都使用 Arrow。 【参考方案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() 方法
【讨论】:
以上是关于为啥我在 python 中看到时区异常[重复]的主要内容,如果未能解决你的问题,请参考以下文章