converte UNIX time to Human readable format.

4 views (last 30 days)
Hello,
Work is almost done, but there came one more problem: how can I converte the UNIX time to human readable format, like ISO086..
My UNIX time is in int64 format, for example: 1352434077. So when I tried to converte it with this code:
unix_epoch = datenum(1970,1,1,0,0,0);
for i=1:1:size(data_mat)
matlab_time(i,1) = data_mat(i,1)./86400 + unix_epoch;
end
It gave 735087..not something like YYYY-MM-DD: hh:mm:ss ...can anyone gave me a hint? Thanks a lot!

Accepted Answer

Bjorn Gustavsson
Bjorn Gustavsson on 19 Dec 2014
Take a look at datestr (or some of the other functions in the date-family):
datestr(matlab_time,'yyyymmddTHH:MM:SS')
or whatever format you might choose.
HTH
  8 Comments
Bjorn Gustavsson
Bjorn Gustavsson on 23 Dec 2014
I guess you should do the typecasting to double ASAP, that is on the Data(1:10,1) before dividing by 86400 - as it is now that division will give you an int - and that corresponds to midnight since the time of day is in fractions of a day...
HTH
buer
buer on 30 Dec 2014
Thanks Bjorn....it is really about the typecasting..thanks a lot

Sign in to comment.

More Answers (0)

Categories

Find more on Dates and Time in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!