如何在Python中获取系统的时区信息?

107 投票
10 回答
172771 浏览
提问于 2025-04-15 12:49

我想从Python中获取我系统的默认时区(太平洋标准时间,PST)。有什么好的方法吗?我希望避免启动另一个进程。

10 个回答

43

我发现这个方法效果很好:

import datetime
tz_string = datetime.datetime.now(datetime.timezone.utc).astimezone().tzname()

对我来说,这个方法能够区分夏令时和非夏令时。

从Python 3.6开始,你可以这样做:

tz_string = datetime.datetime.now().astimezone().tzname()

或者

tz_string = datetime.datetime.now().astimezone().tzinfo

更多详细信息可以参考这个链接: https://stackoverflow.com/a/39079819/4549682

152

这个应该可以用:

import time
time.tzname

time.tzname 会返回一个包含两个字符串的元组:第一个是本地的非夏令时时区名称,第二个是本地的夏令时时区名称。

举个例子,返回的结果可能是:('MST', 'MDT')

31

可以看看Python的时间模块

from time import gmtime, strftime
print(strftime("%z", gmtime()))

太平洋标准时间

撰写回答