Clear Filters
Clear Filters

Inverse of posix time

17 views (last 30 days)
NoNo
NoNo on 28 Sep 2015
Commented: Peter Perkins on 28 Jul 2020
Hello,
O was wondering if there is a function in matlab that does the opposite as posix time. Indeed, I have a UNIX time (1443002431.224) and I want to convert it into a date with hour, minute and second.
How can I do it ? Does it exist a function to do this ?
Thank you very much for your help !!
NoNo

Accepted Answer

Guillaume
Guillaume on 28 Sep 2015
d = datetime(1443002431.224, 'ConvertFrom', 'posixtime')
  4 Comments
Haris K.
Haris K. on 16 May 2020
@Peter Perkins if you format the output of the resulted datetime as 'dd-MMM-yyyy HH:mm:ss.SSS' both:
unix_t = 1443002431.224;
datetime(unix_t, 'ConvertFrom', 'posixtime')
datetime(round(1000*unix_t),'ConvertFrom','epochtime',"TicksPerSecond",1000)
return the same output, i.e. 23-Sep-2015 10:00:31.224. So what is the round-off introduced?
Peter Perkins
Peter Perkins on 28 Jul 2020
Well, I misspoke, sort of.
The round-off is introduced in unix_t = 1443002431.224. That is not a value that is representable exactly in floating point. However, because of the extremely smart people who created IEEE754 etc. way back when, it turns out that 1443002431.224*1000 is exactly 1443002431224. And that multiplication happens inside datetime, without you needing to do it as in my code. That's what saves this.
I think that should be true for anything specified to milliseconds.

Sign in to comment.

More Answers (2)

Emre Güngör
Emre Güngör on 29 Nov 2018
You need 2018 version
  1 Comment
Steven Lord
Steven Lord on 29 Nov 2018
Not true. datetime was introduced in release R2014b and the documentation for that function in that release lists the 'ConvertFrom', 'posixtime' syntax. When I run Guillaume's code in release R2014b I receive the same answer as if I created a datetime for January 1st, 1970 and added that many seconds to it. Both those answers matched the results I received for those same computations in release R2018b and the result I received using an online UNIX epoch converter.

Sign in to comment.


Anh Anh
Anh Anh on 10 Dec 2019
  1 Comment
Rik
Rik on 10 Dec 2019
(rescued from spam filter)
Even though this isn't spam, it isn't a real answer either. There are Matlab tools available that do this, so it is not necessary to use an external website to do this conversion.

Sign in to comment.

Categories

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

Tags

Community Treasure Hunt

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

Start Hunting!