如何获取系统时区设置并将其传递给pytz.timezone?

发布于 2021-01-29 14:10:31

我们可以使用time.tznameget本地时区名称,但该名称与不兼容pytz.timezone

实际上,返回的名称time.tzname是不明确的。此方法('CST', 'CST')在我的系统中返回,但是“ CST”可以指示四个时区:

  • 中部时区(北美)-在北美中部时区观察
  • 中国标准时间
  • 中原标准时间-台湾现在很少使用“中原标准时间”一词
  • 澳大利亚中央标准时间(ACST)
关注者
0
被浏览
158
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    解决此问题的一种非常简单的方法:

    import time
    
    def localTzname():
        offsetHour = time.timezone / 3600
        return 'Etc/GMT%+d' % offsetHour
    

    更新 :@MartijnPieters说“这不适用于DST /夏季。” 那么这个版本呢?

    import time
    
    def localTzname():
        if time.daylight:
            offsetHour = time.altzone / 3600
        else:
            offsetHour = time.timezone / 3600
        return 'Etc/GMT%+d' % offsetHour
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看