pytz.utc 和 dt.timezone.utc 有啥区别?

Posted

技术标签:

【中文标题】pytz.utc 和 dt.timezone.utc 有啥区别?【英文标题】:What's the difference between pytz.utc and dt.timezone.utc?pytz.utc 和 dt.timezone.utc 有什么区别? 【发布时间】:2016-01-19 21:57:32 【问题描述】:

我正在编写一个库,我不想使用 pytz,因为库本身不知道也不关心时区(它以 Unix 时间戳的形式读写数据,没有任何时区信息与他们相关)。我总是使用dt.timezone.utc(例如dt.datetime(..., tzinfo=dt.timezone.utc))返回新的时间戳作为已知日期时间。

这些时间戳是否会与您从pytz.localize(...) 获得的那些 pytz 时间戳进行合理交互(例如,日期时间减法会产生正确的结果),还是我需要改用 pytz.utc

【问题讨论】:

【参考方案1】:

可以使用datetime.timezone.utc。不需要使用pytz.utc,只需要配合pytz时区即可。

utc 时区具有固定的 UTC 偏移量(始终为零)。这样的 tzinfo 对象应该适用于任何 tzinfo 实现。

【讨论】:

以上是关于pytz.utc 和 dt.timezone.utc 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

模块pytz:UTC减少而不是增加

何时使用 datetime.utcnow() 或 datetime.now(tz=pytz.utc).replace(tzinfo=None)

python - 带有时区的日期时间到纪元

如何获取给定时区的“午夜”UTC 时间?

Airflow 操作知识总结(完善中)

python不正确的时区转换使用pytz