【问题标题】:Convert Microsoft Timestamp to ISO 8601 Datetime format将 Microsoft 时间戳转换为 ISO 8601 日期时间格式
【发布时间】:2020-11-23 14:52:56
【问题描述】:

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

即根据https://www.silisoftware.com/tools/date.php?inputdate=43981.7155208333350&inputformat=microsoft 43981.715520833 指 2020-05-30T17:10:21+00:00

【问题讨论】:

    标签: python unix-timestamp epoch


    【解决方案1】:

    您可以使用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 字符串的日期。

    【讨论】:

      猜你喜欢
      • 2022-10-15
      • 1970-01-01
      • 2016-07-23
      • 1970-01-01
      • 2012-02-13
      • 2013-01-30
      • 1970-01-01
      • 2012-04-28
      • 2016-11-26
      相关资源
      最近更新 更多