You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows 10中设置时区缩写格式,适配Python strftime

问题解答

首先明确:Windows 10没有系统级设置可以让Python的time.strftime("%Z")返回时区缩写(比如PDT)。原因在于Python的time模块在Windows平台上调用的是系统API GetTimeZoneInformation,该API默认返回时区的完整名称,而时区缩写是单独的字段,Python的time模块并未直接读取这个字段来填充%Z格式符。

你提到的控制面板里确实没有相关选项——Windows的时区设置仅管理时区选择、自动调整夏令时等,不控制API返回的时区名称格式。注册表中也没有公开的配置项可以修改这个API的返回值。

如果想不用正则提取的脚本方法,还有一个更可靠的替代方案(仍需修改代码,但逻辑更严谨):使用zoneinfo(Python 3.9+内置)或pytz模块,这些模块依赖IANA时区数据库,能直接返回标准时区缩写,不受系统API限制。示例代码:

from datetime import datetime
import zoneinfo

# 获取当前系统对应的时区
current_tz = zoneinfo.ZoneInfo(datetime.now().astimezone().tzinfo.key)
# 用指定时区格式化时间
startup = datetime.now(current_tz).strftime("This session began on %a - %x at %X  %Z")
print(startup)

但如果坚持完全不修改代码、仅通过系统设置解决,目前是无法实现的,只能继续使用你现有的脚本方法,或者切换到上述更可靠的时区处理库。

内容的提问来源于stack exchange,提问作者HeKaiNani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 08:42:08