将Microsoft时间戳转换为ISO 8601日期时间格式

时间:2020-08-03 14:17:05

标签: python unix-timestamp epoch

最近,我遇到了一种以前从未见过的新时间戳格式,称为“ Microsoft时间戳”,它表示自1899年12月31日以来的几天。 我试图在网上搜索以查看python中是否有任何方法可以将该格式转换为ISO 8601,反之亦然,但是没有发现任何有用的方法。

即根据{{​​3}} 43981.715520833指2020-05-30T17:10:21 + 00:00

1 个答案:

答案 0 :(得分:0)

您可以使用datetime模块编写自己的函数:

from datetime import datetime, timedelta

def microsoft_to_iso8601(microsoft):
    base_date = datetime(1899, 12, 31)
    ret_date = base_date + timedelta(days=microsoft)
    return ret_date.isoformat()

print(microsoft_to_iso8601(43981.7155208333350))
# returns 2020-05-31T17:10:21

上面的函数创建一个datetime.datetime对象base_date,该对象存储“ Microsoft时间戳记”的基本日期:1899年12月31日。

ret_date是第一个日期加上自“ Microsoft时间戳记”表示的日期以来经过的天数。该函数返回将此日期转换为ISO-8601字符串。

相关问题