Convert Python time to Matlab datum

7 vues (au cours des 30 derniers jours)
Mark Davidson
Mark Davidson le 15 Oct 2021
Commenté : Mark Davidson le 15 Oct 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.

Réponse acceptée

Dave B
Dave B le 15 Oct 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 commentaires
Mark Davidson
Mark Davidson le 15 Oct 2021
Perfect! Thank you.
Mark Davidson
Mark Davidson le 15 Oct 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

Connectez-vous pour commenter.

Plus de réponses (1)

Steven Lord
Steven Lord le 15 Oct 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 commentaire
Mark Davidson
Mark Davidson le 15 Oct 2021
Modifié(e) : Mark Davidson le 15 Oct 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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Call Python from MATLAB dans Help Center et File Exchange

Produits


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by