Excel的“序列日期”格式似乎实际上是自1900-01-00以来的 天 数,其分数部分是一天的一小部分,基于http://www.cpearson.com/excel/datetime。 htm。(我猜该日期实际上应该被认为是1899-12-31,因为不存在一个月的第0天)
因此,似乎应该是:
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)