从Binance API(Python)计算超出时间戳的日期

从Binance API(Python)计算超出时间戳的日期,python,api,date,timestamp,Python,Api,Date,Timestamp,我从Binance API收到了servertime,我尝试使用它,它如下所示: { "serverTime": 1518440400000 } 问题是,我如何计算这张邮票的日期 我试过了 import datetime print(datetime.datetime.fromtimestamp( int("1518308894652")).strftime('%Y-%m-%d %H:%M:%S')) 但日期无效 你有什么想法吗,还是说具体点? 谢谢大家! 你可以用这个:

我从Binance API收到了servertime,我尝试使用它,它如下所示:

{
  "serverTime": 1518440400000
}
问题是,我如何计算这张邮票的日期

我试过了

import datetime

print(datetime.datetime.fromtimestamp(
       int("1518308894652")).strftime('%Y-%m-%d %H:%M:%S'))
但日期无效

你有什么想法吗,还是说具体点? 谢谢大家!

你可以用这个:

from datetime import datetime
datetime.fromtimestamp(int("1518308894652"))
但是python说今年超出了范围(考虑到它说的是50087年,这是可以理解的)。因此我怀疑
serverTime
不是正常的时间戳

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

编辑: 文档显示“所有与时间和时间戳相关的字段都以毫秒为单位”。因此,只需将响应除以1000,就可以了:
datetime.fromtimestamp(int(“1518308894652”)/1000)

当datetime.fromtimestamp需要秒数时,您的响应处于中

import datetime

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

# 2018-02-10 19:28:14.652000

1518440400000
是您得到的实际时间戳吗?如果是这样,那就意味着服务器将在50087年运行。。。但假设这只是一个例子,大多数语言都应该为此提供一些功能。你在用什么语言?这和我的一样。我使用python。如果你发布Binance API请求,这个问题会更有用。我尝试过,但收到“ValueError:year 50083超出范围”:/@cosmonaut我用修复程序编辑了这个问题。Binance API文档给出的时间以毫秒为单位,而python要求以秒为单位。@AidanGawronski我不知道您指的是被接受的答案被切换的事实,还是我的答案本身。我非常抱歉它被切换了,我不是故意的。当我进一步研究这个问题时,我写了一个简短的答案,计划编辑我的答案以提供更多关于这个问题的信息,在这段时间里,你发布了你的答案。但我发现所有这些都是完全独立的,我只是在谷歌上搜索了“Binance API”。我相信你。