Excel常规日期数字

《网络安全审查办法》的施行日期是43983。

通过Excel转换就可以算出来:

Excel中常规格式和日期格式的转换规则_解决方法


在EXECEL中,

数字0 代表日期 1900-1-0 ,即这个日期为起始日期,算是第0天

数字1 代表日期 1900-1-1 ,即第一天

数字2 代表日期 1900-1-2 ,即第二天


数字41513 代表 2013-8-27 ,即第41513天

在时间中的规则是把1
分成24份 =1/24 ,每一份就是1个小时,
分成1440份 =1/(2460) ,每一份就是1分钟,
分成86400份 =1/(24
60*60) ,每一份就是1秒.

数字中的整数部分是日期,小数部分24代表时间(24小时/天),例数字1.1,指1.1天,1天又2.4小时。数字1.1换成日期时间格式就是 1900-1-1 2:24:00
小时中的小数部分
60代表分钟(60分钟/小时),2.4小时即2小时24分钟
分钟中的小数部分*60代表秒(60秒/分钟)

import datetime
date_start = datetime.datetime.strptime("1899-12-30", "%Y-%m-%d")
date_end = date_start + datetime.timedelta(days=43983)
print(date_end.strftime("%Y-%m-%d"))

# 2020-06-01

Excel中常规格式和日期格式的转换规则_解决方法_02

解决方法

import xlrd
xlrd.xldate_as_datetime(date, 0).strftime('%m-%d')

import xlrd
datetime.datetime(*xlrd.xldate_as_tuple(date, 0)).strftime('%Y-%m-%d')