Inverse of posix time
17 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Guillaume
2015-9-28
d = datetime(1443002431.224, 'ConvertFrom', 'posixtime')
4 个评论
Haris K.
2020-5-16
@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
2020-7-28
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.
更多回答(2 个)
Emre Güngör
2018-11-29
You need 2018 version
1 个评论
Steven Lord
2018-11-29
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Dates and Time 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!