'Compute Date out of Timestamp from Binance-API (Python)
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?
I tried
import datetime
print(datetime.datetime.fromtimestamp(
int("1518308894652")).strftime('%Y-%m-%d %H:%M:%S'))
But the date wasn´t valid.
Do you have ideas, or is it to specific? Thank you!
Solution 1:[1]
You could use this:
from datetime import datetime
datetime.fromtimestamp(int("1518308894652"))
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.
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.
Edit:
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
Solution 2:[2]
Your response is in milliseconds when datetime.fromtimestamp requires seconds.
import datetime
print(datetime.datetime.fromtimestamp(1518308894652/1000))
# 2018-02-10 19:28:14.652000
Solution 3:[3]
Pandas can handle this perfectly by specifying miliseconds as the unit.
import pandas as pd
pd.to_datetime(1518440400000, unit='ms')
Timestamp('2018-02-12 13:00:00')
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 | AidanGawronski |
Solution 3 | Alan |