Effacer les filtres
Effacer les filtres

Inverse of posix time

17 vues (au cours des 30 derniers jours)
NoNo
NoNo le 28 Sep 2015
Commenté : Peter Perkins le 28 Juil 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

Réponse acceptée

Guillaume
Guillaume le 28 Sep 2015
d = datetime(1443002431.224, 'ConvertFrom', 'posixtime')
  4 commentaires
Haris K.
Haris K. le 16 Mai 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 le 28 Juil 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.

Connectez-vous pour commenter.

Plus de réponses (2)

Emre Güngör
Emre Güngör le 29 Nov 2018
You need 2018 version
  1 commentaire
Steven Lord
Steven Lord le 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.

Connectez-vous pour commenter.


Anh Anh
Anh Anh le 10 Déc 2019
  1 commentaire
Rik
Rik le 10 Déc 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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Dates and Time dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by