Convert Python time to Matlab datum

16 visualizzazioni (ultimi 30 giorni)
Mark Davidson
Mark Davidson il 15 Ott 2021
Commentato: Mark Davidson il 15 Ott 2021
How do I convert Python timestamp to a Matlab datenum? I am sure this is a common issue, but I could not find a Matlab function to do this easily.

Risposta accettata

Dave B
Dave B il 15 Ott 2021
Python has several ways it represents time. A common one is so called unix timestamps, which are the number of seconds since 1970:
secssince1970 = 1634287957.292;
datetime(1970,1,1) + seconds(secssince1970)
ans = datetime
15-Oct-2021 08:52:37
  7 Commenti
Mark Davidson
Mark Davidson il 15 Ott 2021
Perfect! Thank you.
Mark Davidson
Mark Davidson il 15 Ott 2021
This might be a useful Matlab fuction...
function [dnum,date_time]=python2matlabTime(timestamp)
date_time = datetime(1970,1,1) + seconds(timestamp);
dnum=datenum(date_time);
return

Accedi per commentare.

Più risposte (1)

Steven Lord
Steven Lord il 15 Ott 2021
Don't convert to a datenum. Depending on how the Python timestamp represents the date and time, I suspect some of the values for the ConvertFrom parameter in the datetime function will be of use, something like:
x = 20211015;
dt = datetime(x, 'ConvertFrom', 'yyyymmdd')
dt = datetime
15-Oct-2021
  1 Commento
Mark Davidson
Mark Davidson il 15 Ott 2021
Modificato: Mark Davidson il 15 Ott 2021
The time-stamp is in a number format a bit like the matlab datenumber but not the same. I think that it is the same as the unix timestamp, but I'm not sure.

Accedi per commentare.

Prodotti


Release

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by