Specific timestamp to date format using datetime
23 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
André Bernal García
le 27 Mar 2017
Commenté : Star Strider
le 28 Mar 2017
I have data with a certain timestamp, being yyyymmddHHMM and I want to convert this to time format in matlab:
For example:
Given a timestamp of 201502171000 I want to get 2015-02-17 10:00.
PS: I have to manage a lot of data for a given time unit and my aim is to identify my measurements for that certain time unit. And thats why I thought that time format could be helpful.
0 commentaires
Réponse acceptée
Star Strider
le 27 Mar 2017
This works:
T = 201502171000;
str = num2str(T, '%11d');
dn = datenum(str, 'yyyymmddHHMM');
ds = datestr(dn, 'yyyy-mm-dd HH:MM') % ‘Legacy’ Functions
dt = datetime(str, 'InputFormat','yyyyMMddHHmm', 'Format','yyyy-MM-dd HH:mm') % ‘datetime’ Function
I do not know if you are starting with an integer or string, so I included the conversion from integer to string, necessary for the datetime function.
2 commentaires
Star Strider
le 28 Mar 2017
My pleasure.
I am not certain what you want to do.
If you want to put your datetime object and your data together, I would use the table function, since it is designed for that. Another option is a cell array.
Plus de réponses (1)
Peter Perkins
le 27 Mar 2017
Assuming you have strings, not numbers, you've kind of answered the question yourself, except for m vs. M:
>> datetime('201502171000','InputFormat','yyyyMMddHHmm')
ans =
datetime
17-Feb-2015 10:00:00
0 commentaires
Voir également
Catégories
En savoir plus sur Data Type Conversion dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!