繁体   English   中英

将 Unix 时间戳转换为日期时间 - JS 和 Python 的结果不同

[英]Converting Unix timestamp to date time - different results for JS and Python

我有 sqlite 日志文件,其中日期在时间戳中。

按照 function 与 JS 的转换给出了正确的结果

var unixTsToDate = function (UNIX_Timestamp){
var date = new Date(UNIX_Timestamp / 1000);
return date;
};

unixTsToDate (1615370972685000) = Wed Mar 10 2021 11:09:32 GMT+0100

现在我正在尝试与 Python 3.9 相同,但它因错误而中止

import datetime
print(datetime.datetime.utcfromtimestamp(1615370972685000))

result:
print(datetime.datetime.utcfromtimestamp(1615370972685000))
OSError: [Errno 22] Invalid argument

这个数字对于 function 来说似乎太大了。 尝试使用 /1000 (在互联网上发现可能是不同的时间戳,有毫秒和没有),没有结果

在这种情况下,Python 的解决方案是什么?

您的时间戳值具有微秒分辨率。

51 年(自纪元以来)* 365 * 24 * 3600 将提供大约 16 亿秒。 您的值有额外的 6 位数字。

所以在 Python 中除以 1000000 而不是 1000。

Python

round(time.mktime(datetime.timetuple())
# in seconds, if you want to deliver this to frontend, multiply by 1000

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM