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 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
何时使用 datetime.utcnow() 或 datetime.now(tz=pytz.utc).replace(tzinfo=None)