从Binance-API(Python)计算时间戳外的日期

cos*_*aut 5 python api timestamp date

我从Binance-API收到了服务器时间,我尝试使用它,它看起来像这样:

{
  "serverTime": 1518440400000
}
Run Code Online (Sandbox Code Playgroud)

问题是,如何计算该图章的日期?

我试过了

import datetime

print(datetime.datetime.fromtimestamp(
       int("1518308894652")).strftime('%Y-%m-%d %H:%M:%S'))
Run Code Online (Sandbox Code Playgroud)

但是日期无效。

您有想法,还是具体?谢谢!

Add*_*son 24

你可以用这个:

from datetime import datetime
datetime.fromtimestamp(int("1518308894652"))
Run Code Online (Sandbox Code Playgroud)

但是python说年份超出了范围(可以理解,考虑到它说的是50087)。所以我怀疑这serverTime不是一个正常的时间戳。

但是假设您得到的响应是时间戳,因此除了将字符串转换为 int 之外,您不需要进行任何其他转换。

编辑:

结果文档说“所有时间和时间戳相关字段都以毫秒为单位。” 所以只需将响应除以 1000 就可以了:datetime.fromtimestamp(int("1518308894652")/1000). 来源


Aid*_*ski 8

当 datetime.fromtimestamp 需要秒时,您的响应以毫秒为单位。

import datetime

print(datetime.datetime.fromtimestamp(1518308894652/1000))

# 2018-02-10 19:28:14.652000
Run Code Online (Sandbox Code Playgroud)