我们可以使用time.tznameget本地时区名称,但该名称与不兼容pytz.timezone。
time.tzname
pytz.timezone
实际上,返回的名称time.tzname是不明确的。此方法('CST', 'CST')在我的系统中返回,但是“ CST”可以指示四个时区:
('CST', 'CST')
解决此问题的一种非常简单的方法:
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