datetime.timezone类的文档只说:
将tzinfo抽象基类实现为固定的类 偏离UTC。
它接受timedelta作为其论据。
我从来没有看到过直接从其他代码片段中使用它的例子,虽然我相信必须有一些它的使用,否则Python没有公开这个API。那么在什么情况下直接建议使用这个类?使用像pytz这样的专用库有什么好处?
答案 0 :(得分:0)
datetime模块提供了tzinfo的简单具体子类, timezone,可以表示与UTC固定偏移的时区 例如UTC本身或北美EST和EDT。
基本思想是,对于简单偏移UTC时间的时区(即UTC +/-一些固定的分钟数),实现tzinfo对象所需的所有方法比必要的更省力,所以你可以简单地子类化带有偏移值的时区对象。
文档本身也建议使用pytz来处理时区:
pytz库带来了IANA时区数据库(也称为 推荐使用Olson数据库)及其使用方法
答案 1 :(得分:0)
从datetime docs开始的python 3.6+更新已不再使用pytz:
与pytz相比,建议使用dateutil.tz库带来了IANA时区数据库(也称为 建议使用Olson数据库)和Python。
dateutil.tz,因为如果时区由于夏时制或其他原因而存在多个偏移,则pytz会以意外方式处理datetime.timedelta操作。 This article explains in more detail。