Python Datetime和Ex之间的日期转换差异

2024-04-18 18:20:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试解析从Python中的excel文件接收到的数据。为此,我使用xlrd库。我在Excel中有一个单元格,它的值是5/16/2016 12:15,我在Python中收到的是42506.6493。我知道Excel将日期保存为1900年1月1日以来的天数。因此,在Python中,我尝试使用下面的代码添加天数(目前仅为天,不包含表示时间的分数)以获得相同的日期:

orgDate = datetime.datetime(1900,1,1,0,0,0,0)
xlVal = 42506.6493
newDate = orgDate + datetime.timedelta(days=int(xlVal))

但是当我读到newDate的值时,我发现它是datetime.datetime(2016, 5, 18, 0, 0),而它应该是5月16日而不是18。有人知道怎么处理吗?在


Tags: 文件数据代码datetime时间daysexcel分数
1条回答
网友
1楼 · 发布于 2024-04-18 18:20:21

请咨询xlrddocumentation,特别是dates in Excel部分。在

约会不是从1900-01-01开始的。你有两天的区别,因为(1)Excel保留了Lotus1-2-3错误,认为1900是闰年;(2)即使日期是从1900-01-01开始的,那么1900-01-01是第一天,而不是第0天,所以你需要相应地调整你的时间差。在

但实际上,只要省去麻烦,使用xlrd的内置日期工具^{}或{a4}。在

相关问题 更多 >