Convert epoch to human readable data and time

112 visualizaciones (últimos 30 días)
Giorgia Fusaroli
Giorgia Fusaroli el 1 de Dic. de 2021
Respondida: Giorgia Fusaroli el 1 de Dic. de 2021
Hi,
i have a vector of time in epoch format (read as double in Matlab). I have to convert all the elements in a format HH:MM:SS till milli or even nano seconds if it is possible.
The vector time is related to data acquired on 20th October 2021.
Can someone help me please ?
Thank you in advance
  1 comentario
Star Strider
Star Strider el 1 de Dic. de 2021
What is the epoch time for midnight on 20th October 2021, and 1 and 60 seconds later?
.

Iniciar sesión para comentar.

Respuesta aceptada

Spectro
Spectro el 1 de Dic. de 2021
Editada: Spectro el 1 de Dic. de 2021
Have a look at datetime() using parameter "ConvertFrom":
epochs = [1638351674 1638351674];
datetime(epochs, 'ConvertFrom', 'epochtime')
  4 comentarios
Giorgia Fusaroli
Giorgia Fusaroli el 1 de Dic. de 2021
no, but then the output is in the follow format:
5.1802e+10 CE
And i don't even know what it means :(
Spectro
Spectro el 1 de Dic. de 2021
Attach the data please.

Iniciar sesión para comentar.

Más respuestas (2)

Giorgia Fusaroli
Giorgia Fusaroli el 1 de Dic. de 2021
FYI
I solve the problem in this way:
epochs = uint64(vector-of-epoch-data)
datetime(epochs,'ConvertFrom','epochtime','TicksPerSecond',1e9,'Format','dd-MMM-yyyy HH:mm:ss.SSSSSSSSS');

Steven Lord
Steven Lord el 1 de Dic. de 2021
What's the unit of time a value of 1 in your epochtime represents? Seconds, microseconds, nanoseconds, etc.?
t = 6000;
start = datetime('today') % Use midnight today as the start of the epoch
start = datetime
01-Dec-2021
dt1 = datetime(t, 'ConvertFrom', 'epochtime', 'Epoch', start) % 6000 seconds after the epoch
dt1 = datetime
01-Dec-2021 01:40:00
dt2 = datetime(t, 'ConvertFrom', 'epochtime', 'Epoch', start, ...
'TicksPerSecond', 1000) % 6000/1000 seconds after the epoch
dt2 = datetime
01-Dec-2021 00:00:06
You may also want to look at the table in the entry for the dateType input argument to datetime to see if one of the provided options matches what your time data represents: 'ntp', '.net', or 'ntfs' perhaps, since they each represent a number of "clock ticks" that are a small fraction of a second?

Etiquetas

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by