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

2022-01-13 00:00:00 python api timestamp date

问题描述

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

I received the servertime from the Binance-API,I try to work with and it looks like this:

{
  "serverTime": 1518440400000
}

问题是,我怎样才能从这张邮票中计算出日期?

The question is, how can I compute the date out of this stamp?

我试过了

import datetime

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

但日期无效.

你有什么想法,还是具体的?谢谢!

Do you have ideas, or is it to specific? Thank you!


解决方案

你可以这样用:

from datetime import datetime
datetime.fromtimestamp(int("1518308894652"))

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

But python says the year is out of range (understandably, considering it says it's 50087). So I suspect that serverTime is not a normal timestamp.

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

But assuming the response that you got was the timestamp, so you don't need to do any other conversions other than turning the string into an int.

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

Turns out the docs say "All time and timestamp related fields are in milliseconds." So just divide the response by 1000 and you'll be fine: datetime.fromtimestamp(int("1518308894652")/1000). Source

相关文章