Specific timestamp to date format using datetime
25 views (last 30 days)
Show older comments
André Bernal García
on 27 Mar 2017
Commented: Star Strider
on 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 Comments
Accepted Answer
Star Strider
on 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 Comments
Star Strider
on 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.
More Answers (1)
Peter Perkins
on 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 Comments
See Also
Categories
Find more on Logical in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!