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

为何Pandas与Python标准库转换America/Boise时区结果不同?

Pandas与Python标准库转换America/Boise时区差异的原因

两者结果差异的核心原因是时区数据库版本不一致,具体体现在夏令时(DST)规则的解析差异:

  1. Python标准库的zoneinfo:依赖系统自带的IANA时区数据库(或安装的tzdata包),最新的IANA数据中,America/Boise在2038年的夏令时从3月13日(当年第二个周日)开始,时钟从2:00调至3:00,因此4月1日已处于夏令时(MDT,UTC-6偏移),转换后时间为2038-04-01 03:00:00-06:00。

  2. Pandas的时区处理:旧版本Pandas默认使用pytz或dateutil作为时区后端,若这些库的时区数据未及时更新,可能未包含2038年America/Boise的最新夏令时规则,错误判定4月1日仍处于山区标准时间(MST,UTC-7偏移),因此输出2038-04-01 02:00:00-07:00。

解决办法

  • 升级Pandas到2.0及以上版本,设置使用zoneinfo作为时区后端,让Pandas与Python标准库共用同一时区数据源:
import pandas as pd
pd.set_option('timezone_backend', 'zoneinfo')

string = '2038-04-01 09:00:00.000000'
print(pd.Timestamp(string).tz_localize('UTC').tz_convert('America/Boise'))
  • 若无法升级Pandas,可手动更新pytz或dateutil库到最新版本,确保时区数据同步。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 00:53:09