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

解决Pandas转换Excel风格日期值时出现的OutOfBoundsDatetime错误并获取目标日期格式

解决Unix时间戳转标准日期时间的问题

嘿,我一眼就看出问题所在啦!你手里的launched_at列数值(比如1375134026、1377313137)根本不是Excel风格的日期,而是秒级的Unix时间戳——这就是你用Excel日期转换方法触发OutOfBoundsDatetime错误的原因!

为什么之前的方法会报错?

Excel日期是从1899-12-30开始累计的天数,比如数值1对应1899-12-31。而你把秒级时间戳当成天数处理的话,137万多天会算出远超出pandas支持范围的日期(pandas默认支持的日期区间大概是1677年到2262年),自然会触发越界错误。

正确的转换方法

直接使用pd.to_datetime(),指定unit='s'(表示输入是秒级Unix时间戳)即可,不需要设置origin参数:

import pandas as pd

# 转换秒级Unix时间戳为标准日期时间
cf_success['launch date'] = pd.to_datetime(cf_success['launched_at'], unit='s')

额外优化:指定时区(可选)

如果你的时间戳是UTC时间,想要转换成特定时区(比如北京时间),可以加上时区参数并做转换:

# 先转成UTC时间,再转换为北京时间
cf_success['launch date'] = pd.to_datetime(cf_success['launched_at'], unit='s', tz='UTC').tz_convert('Asia/Shanghai')

验证示例

拿你的数值1375134026测试,转换后会得到2013-07-30 15:00:26(UTC时间),如果转成北京时间就是2013-07-30 23:00:26,完全符合你想要的标准日期时间格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.01 03:02:46