如何解码js时间戳到python时间戳,反之亦然?



我正在向一个服务器发出请求,并得到这样的响应:

result = {"object_type": "window_id", 
"cctv_times" : ['1655375216687000', '1655375216717000', '1655375216717000', '1655375216775000']}

我无法理解它使用的时间格式,如果我必须用当前时间向该服务器发出post请求,我无法将python时间戳转换为该格式。

在python中,如果将当前时间转换为时间戳,它看起来像这样:

from datetime import datetime
time_now = datetime.now().strftime("%s%f")

结果如下:

1655375242179881

但是在服务器响应中,即使时间是实时的,在最后已经有几个零了,它的格式是什么?如何将python时间转换成这种格式?

我们知道datetime.now().strftime("%s%f")是一个以微秒为单位的时间戳(因为%s是秒,%f是微秒)。

16553752166870001655375242179881的长度相同,这表明源数据也是以微秒为单位的时间戳。(事实上,最后三位数字总是000,这表明它最初来自一个毫秒精度的源,但值显然是微秒)。

我们可以使用datetime.fromtimestamp: https://docs.python.org/3/library/datetime.html#datetime.datetime.fromtimestamp

然而,这需要一个以秒为单位的时间,如time.time()

返回的">

所以我们可以:

from datetime import datetime
datetime.fromtimestamp(int('1655375216687000') / 1e6)

返回datetime.datetime(2022, 6, 16, 11, 26, 56, 687000)

最新更新