How to Convert milliseconds to dd:mm:yyyy hh:mm:ss?

33 views (last 30 days)
I have rows that contains 'gregorian' Date and time for each observation in milliseconds since 1970-01-01 00:00:00.0 UTC.
How can I convert this millisecond into dd:mm:yyyy hh:mm:ss?

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 23 May 2018
T = datetime(1970,1,1,0,0,0,0,'TimeZone','UTC','F','uuuu-MM-dd''T''HH:mm:ss.SSS Z');
addMS = milliseconds(cumsum([0;randi(2e8,10,1)]));
out = T + addMS;

More Answers (2)

Megha
Megha on 23 May 2018
Well, I also got the solution from other google search results,
date = datestr(t/86400000 + datenum(1970,1,1));
Thank you @ Walter Roberson and @ Andrei Bobrov for spending your time on this.

Walter Roberson
Walter Roberson on 23 May 2018
You might be able to use datetime() with 'convertfrom', 'posixtime'
  3 Comments
Walter Roberson
Walter Roberson on 23 May 2018
>> datetime(1504224000,'convertfrom','posixtime')
ans =
01-Sep-2017 00:00:00
Megha
Megha on 23 May 2018
@walter this is the same o/p that i fed to my i/p!
while running
int32(floor(86400 * (datenum('01-Sep-2017') - datenum('01-Jan-1970'))))
as given under the link in your answers!!

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!