how to convert date to milliseconds (Binance format)

18 次查看(过去 30 天)
I got this function some time ago to convert datetime from Binance format into Matlab format, but now I need to do viceversa too, so to convert a certain datetime into Binance milliseconds format.
function [out_date] = date_from_binance_to_dt(raw_date)
out_date = string(datestr(datevec(raw_date/60/60/24/1000) + [1970 0 0 0 0 0]));
end
Can someone please help me to create the inverse function of mine one?
Thank you!
  3 个评论
endystrike
endystrike 2021-11-30
The only definition reported on Binance API documentation is the following: "All time and timestamp related fields are in milliseconds.".
In few words, I need to convert a MatLab datetime expression into milliseconds format, that is the one required by Binance API.
Thank you!
endystrike
endystrike 2021-11-30
I've found a solution:
function [binance_dateFMT] = date_from_dt_to_BinanceFMT(date_DT) %input: Matlab datetime format
binance_dateFMT = floor((datenum(date_DT)-datenum('1970', 'yyyy'))*60*60*24*1000);
end

请先登录,再进行评论。

采纳的回答

Steven Lord
Steven Lord 2021-12-1
So your input is a number of milliseconds since January 1st, 1970?
msSince1970 = 1234567;
start = datetime(1970, 01, 01);
T1 = datetime(msSince1970,'ConvertFrom', ...
'epochtime', 'Epoch', start, 'TicksPerSecond', 1000)
T1 = datetime
01-Jan-1970 00:20:34
% or
T2 = start + seconds(msSince1970/1000)
T2 = datetime
01-Jan-1970 00:20:34
check = T1==T2
check = logical
1
To go backwards, creating msSince1970 from T1:
ms = 1000*seconds(T1-start)
ms = 1234567

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Dates and Time 的更多信息

产品


版本

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by