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

Python中如何将5位int64类型数字转换为正确日期格式?

解决Excel日期序列号转常规日期格式的问题

你的5位数字是Excel的日期序列号,错误原因是你用了Unix时间戳的起始点(1970-01-01)来计算,而Excel的日期序列号起始基准是1899年12月30日(对应序列号1为1900-01-01,这是Excel历史遗留的bug导致的),换起始基准就能得到正确日期。

方法一:用Pandas内置函数(推荐)

Pandas直接支持将Excel序列号转换为日期,代码更简洁高效:

import pandas as pd

# 转换为datetime类型
df['Date'] = pd.to_datetime(df['Date'], unit='D', origin='1899-12-30')
# 格式化为你需要的"月/日/年"形式
df['Date'] = df['Date'].dt.strftime("%m/%d/%Y")

方法二:手动用datetime计算

如果不想用Pandas的内置方法,也可以手动修改起始日期:

from datetime import datetime, timedelta

df['Date'] = df['Date'].apply(lambda x: (datetime(1899, 12, 30) + timedelta(days=int(x))).strftime("%m/%d/%Y"))

验证:输入44562时,两种方法都会得到01/01/2022,符合预期。

内容的提问来源于stack exchange,提问作者Thet Paing Hmoo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 17:20:56