【问题标题】:Interpret Timestamp value from Binance in R解释 R 中 Binance 的时间戳值
【发布时间】:2018-06-29 17:05:34
【问题描述】:
我正在使用 R 中的Binance APIs。有人提到所有时间和时间戳都以毫秒为单位。当我通过 GET 命令从 httr 包中检索 R 中的订单列表时,我得到以下格式的时间:-
[1] 1.530289e+12 1.530289e+12 1.530289e+12 1.530290e+12 1.530290e+12
或
[1] 1530289083143 1530289248074 1530289249920 1530290497231 1530290498147
您能否告诉我如何以实时或日期时间格式解释它,例如:2018-6-29 16:24:35.555
非常感谢
【问题讨论】:
标签:
r
api
datetime
timestamp
binance
【解决方案1】:
as.POSIXct() 计算从纪元(1970 年 1 月 1 日)开始的秒数,但您从币安获得的响应以毫秒为单位。因此,一旦您请求了时间戳,您必须将其从毫秒转换为秒才能将其更改为日期时间格式。
我在下面分解它。函数getTimestamp() 只是向币安请求时间戳。
timestamp_request <- getTimestamp()
timestamp <- as.numeric(timestamp_request) / 1000
date_time <- as.POSIXct(timestamp, origin = "1970-01-01", tz = "GMT")
print(timestamp_request)
print(timestamp)
print(date_time)
打印出每一步的结果,
> print(timestamp_request)
[1] "1648640978297"
>
> print(timestamp)
[1] 1648640978
>
> print(date_time)
[1] "2022-03-30 11:32:49 GMT"
【解决方案2】:
这将为您提供日期、时间等,以秒而不是毫秒为单位。
如果您需要知道毫秒数,则必须稍作更改:
Binance_Time_Stamp_Converted = datetime.datetime.fromtimestamp(Binance_Time_Stamp/1000).strftime('%Y-%m-%d %H:%M:%S')
pprint.pprint (Binance_Time_Stamp_Converted)