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

Python 3.11获取禁用夏令时的本地标准时间的正确方法

在Python 3.11中获取本地标准时间(忽略夏令时)

不用依赖已弃用的pytz,直接用Python内置的datetime和zoneinfo模块就能搞定,分两种通用方法:

方法一:自动适配本地时区(推荐)

这种方法会自动识别你的本地时区,然后自动扣除夏令时偏移(如果当前处于夏令时):

  1. 先导入需要的模块:
from datetime import datetime
from zoneinfo import ZoneInfo
  1. 获取带时区的本地时间,再计算标准时间:
# 获取本地时区
local_tz = ZoneInfo("local")
# 获取带时区的当前时间
now_with_tz = datetime.now(local_tz)
# 获取夏令时偏移量(如果不在夏令时,返回timedelta(0))
dst_offset = now_with_tz.dst()
# 计算标准时间:如果有夏令时偏移就减去,否则直接用当前时间
standard_time = now_with_tz - dst_offset if dst_offset else now_with_tz

print("本地标准时间:", standard_time)

如果运行时报时区相关错误,可能是系统缺少时区数据,安装tzdata包即可:

pip install tzdata

方法二:手动指定固定偏移时区

如果你明确知道本地标准时间的UTC偏移(比如中国标准时间是UTC+8,美国东部标准时间是UTC-5),可以直接创建固定偏移的时区:

from datetime import datetime, timezone, timedelta

# 比如设置为UTC+8(中国标准时间)
standard_tz = timezone(timedelta(hours=8))
standard_time = datetime.now(standard_tz)

print("本地标准时间:", standard_time)

这种方法适合你确认时区偏移不会变化的场景,缺点是无法自动适配时区调整。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 19:22:44