【发布时间】:2020-12-01 15:49:25
【问题描述】:
为什么在下面的代码中创建的 2 个日期时间中的 UTC 偏移量不同?我正在使用 pytz==2019.1
from datetime import datetime
import pytz
EASTERN = pytz.timezone('US/Eastern')
dt1 = datetime.now(EASTERN)
dt2 = datetime(2020, 8, 11, 15, 30, tzinfo=EASTERN)
print(f'dt1: {dt1}')
print(f'dt2: {dt2}')
结果:
dt1: 2020-08-11 18:35:47.984745-04:00
dt2: 2020-08-11 15:30:00-04:56
第一个显示的 UTC 偏移量为 -04:00,这是正确的(对于一年中的这个时候),但第二个显示的 UTC 偏移量为 -04:56。
如何使用第二种方法声明日期时间并从第一种方法获取 UTC 偏移量。
【问题讨论】:
-
您正在将系统时间(现在)与您自己提供的某个时间(2020 年 8 月 11 日 15 日 30 日)进行比较
-
旁注:您的
pytz已过时。建议:使用dateutil 而不是pytz以避免这种奇怪的行为。阅读this blogpost 以获取更多信息为什么会这样。 -
@MrFuppes,你的评论是正确的。在阅读了链接博客的前几段之后,我明白了发生了什么。你能把它放在一个答案中,我会把它标记为答案吗?
-
从@MrFuppes 分享的博文中,他们实际上在
pytz's time zone model下引用了同样的问题
标签: python datetime timezone-offset pytz