首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将python datetime.datetime转换为excel序列日期

如何将python datetime.datetime转换为excel序列日期
EN

Stack Overflow用户
提问于 2012-03-06 06:08:58
回答 6查看 49.9K关注 0票数 28

我需要将日期转换为我正在编写的数据转换为Excel序列号脚本。通过处理我的OpenOffice计算工作簿中的日期,我能够推断出'1-Jan 1899 00:00:00‘映射到数字0。

我编写了以下函数将python datetime对象转换为Excel序列号:

代码语言:javascript
运行
复制
def excel_date(date1):
    temp=dt.datetime.strptime('18990101', '%Y%m%d')
    delta=date1-temp
    total_seconds = delta.days * 86400 + delta.seconds
    return total_seconds

然而,当我尝试一些示例日期时,得到的数字与我在Excel中将日期格式化为数字( OpenOffice计算)时得到的数字不同。例如,测试'2009-03-20‘在Python中显示3478032000,而excel将序列号呈现为39892。

上面的公式有什么问题?

*注意:我使用的是Python2.6.3,所以不能访问datetime.total_seconds()

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-03-06 06:22:08

根据http://www.cpearson.com/excel/datetime.htm,Excel的“序列日期”格式实际上是自1900-01-00以来的天数,带有小数部分,是一天的一小部分。(我猜这个日期实际上应该被认为是1899-12-31,因为没有一个月的第0天这回事)

所以,它看起来应该是:

代码语言:javascript
运行
复制
def excel_date(date1):
    temp = dt.datetime(1899, 12, 30)    # Note, not 31st Dec but 30th!
    delta = date1 - temp
    return float(delta.days) + (float(delta.seconds) / 86400)
票数 48
EN

Stack Overflow用户

发布于 2014-06-25 22:03:41

虽然这与Excel序列日期格式并不完全相关,但这是将python日期时间导出到excel的最佳选择。我发现特别有用和简单的是使用strftime导出。

代码语言:javascript
运行
复制
import datetime
current_datetime = datetime.datetime.now()
current_datetime.strftime('%x %X')

这将以以下格式输出:'06/25/14 09:59:29‘,Excel接受该格式作为有效的日期/时间,并允许在Excel中进行排序。

票数 15
EN

Stack Overflow用户

发布于 2017-11-25 02:47:19

如果问题是我们需要DATEVALUE() excel序列号作为日期,那么可以使用toordinal()函数。Python序列号从1年的Jan1开始,而excel从1900年1月1日开始,因此应用偏移量。另请参阅excel 1900闰年错误(https://support.microsoft.com/en-us/help/214326/excel-incorrectly-assumes-that-the-year-1900-is-a-leap-year)

代码语言:javascript
运行
复制
def convert_date_to_excel_ordinal(day, month, year) :

    offset = 693594
    current = date(year,month,day)
    n = current.toordinal()
    return (n - offset)
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9574793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档