JavaScript 时间戳到 Python 日期时间转换
JavaScript timestamp to Python datetime conversion
要在JavaScript中获取时间戳,我们使用
var ts = new Date().getTime()
到目前为止,将其转换为 Python datetime
的正确方法是什么,我使用以下代码
>>> jsts = 1335205804950
>>> dt = datetime.datetime.fromtimestamp(jsts/1000)
>>> dt
datetime.datetime(2012, 4, 24, 0, 30, 4)
我将时间戳除以 1000,因为我收到类似错误
ValueError Traceback (most recent call last)
1 d = datetime.datetime.fromtimestamp(a)
ValueError: year is out of range
您当前的方法是正确的,除以 1000 是必需的,因为您的 JavaScript 以毫秒为单位返回时间戳,而datetime.datetime.fromtimestamp()
期望以秒为单位的时间戳。
为了保持毫秒精度,您可以除以 1000.0
,因此您使用浮点除法而不是整数除法:
>>> dt = datetime.datetime.fromtimestamp(jsts/1000.0)
>>> dt
datetime.datetime(2012, 4, 23, 11, 30, 4, 950000)
我遇到了同样的问题,感谢 @andrew-clark 的回答,我构建了一个小示例来处理这两种情况:
try:
# when timestamp is in seconds
date = datetime.fromtimestamp(timestamp)
except (ValueError):
# when timestamp is in miliseconds
date = datetime.fromtimestamp(timestamp / 1000)
对于其他人仍然收到错误:我遇到了类似的问题,但 unix 时间戳以微秒为单位,即我必须将时间戳除以 1000000 才能获得正确的结果。
dt = datetime.datetime.fromtimestamp(1502360499615921)
你这样做的方式是正确的,因为js在日期/时间中包含毫秒。据我所知,Python(和PHP)没有。为了获得更高的精度,您可以使用 /1000.0
.
相关文章:
- 将日期和时间转换为UTC格式的日期-Javascript
- 用JavaScript将ISO时间转换为H:MM am|pm
- 用javascript将epoch时间转换为可读格式
- 将时间转换为UTC时出现故障
- 将日期和时间转换为UTC
- 将JSON中的时间转换为实际播放PHP的时间
- JavaScript日期&时间转换tz到正常
- 在 javascript 中将 24 小时时间转换为 12 小时,运行秒数
- Javascript将时间转换为CET
- 在mirth connect中,将本地时间的hl7日期时间转换为UTC的iso日期
- 反转历元时间转换
- 如何使用MongoDB和Mongoose/Express将UTC时间转换为本地时间,反之亦然
- 使用mommtjs将某个时区的时间转换为UTC
- 将 MYSQL 时间转换为 EST
- JavaScript:如何使用纯Javascript将UTC日期时间转换为EST Hours
- 使用 JavaScript 从日期时间转换为短日期格式
- 使用 JavaScript 或 jQuery 将 UTC 日期时间转换为本地日期时间
- 在 JavaScript 中将 Unix 时间转换为“几分钟前”
- 将 JSON 日期时间转换为 JavaScript 日期时,它显示为比本地时区早 1 天
- 显示错误值的高图表日期时间转换