Python 处理 1870 年 epoch time 之前的时间

2020-10-20 19:50:46 +08:00
 songkaiape

VMS 时间戳默认时间是 1858 年 11 月 17 日,需要转换为正常的时间戳,如果直接使用 time 读取 18581117 再加上毫秒然后进行转换会导致溢出。百度了一下没找到类似问题解答,所以在 V2 记录一下方便后来遇到类似问题的人。 可以使用 timedelta 就可以避免溢出的问题

import datetime
start_date=datetime.datetime.strptime('18581117','%Y%m%d')
vms_timestamp=4453016000000000
date=start_date+datetime.timedelta(millisecondes=vms_timestamp/10000)
print(date.strftime('%Y%m%d%H%M%S')
1512 次点击
所在节点    Python
2 条回复
starzh
2020-10-21 08:25:20 +08:00
是 milliseconds 不是 millisecondes,print 少了一个’)‘
python 3.8.5
我运行了一下没有问题,结果是’18721226225320‘
user8341
2020-10-21 13:57:47 +08:00
为什么要处理古代的日期

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/716833

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX