我真的希望你能帮助我.我有一个python程序输出的日期,我需要能够在另一个程序中访问.
问题是我不知道这个日期是如何格式化的:
Format Date
129893779638930000 - 2012-08-13 17:32:43
这是日期和时间,我真的希望有人能够识别它的格式,因为我不太了解python.如果您可以告诉我如何将其转换为unix时间戳,则可获得奖励积分.
编辑:
执行此操作的程序是Foobar2000(音乐程序的扩展)的组件.此组件显示在此处:http://www.foobar2000.org/components/view/foo_playcount,它是XML导出功能,可生成奇数日期/时间戳.
解决方法:
129893678626216000看起来像1e-8秒(几十纳秒)的unix时间戳:1,298,936,786.262,160,00.它代表:
>>> from datetime import datetime
>>> datetime.utcfromtimestamp(129893678626216000/1e8)
datetime.datetime(2011, 2, 28, 23, 46, 26, 262160)
编辑:但是您的信息“文件时间是一个64位值,表示自1601年1月1日凌晨12点以来经过的100纳秒间隔的数量,协调世界时(UTC)”告诉我使用:
>>> from datetime import datetime, timedelta
>>> datetime(1601, 1, 1, 0, 0, 0) + timedelta(seconds = 129893678626216000/1e7)
datetime.datetime(2012, 8, 13, 21, 44, 22, 621599)
你得到的正是你所期待的.
您也可以将其直接转换为unix时间戳(自1970-01-01 00:00:00 UTC以来的秒数):
>>> 129893678626216000 / 1e7 - 11644473600
1344894262.6215992
标签:python,date
来源: https://codeday.me/bug/20190715/1469481.html