Seperate yyyymm to mm-yyyy
Show older comments
I uploaded a table with one of the columns showing yyyymm,
How do I get tha column in the mm-yyyy format
Answers (1)
Star Strider
on 20 Jan 2020
Try this:
ym = [201910
201911
201912
202001]; % Numeric (?)
yms = compose('%6d',ym)
my = datetime(yms, 'InputFormat','yyyymm', 'Format','mm-yyyy')
producing:
my =
4×1 datetime array
10-2019
11-2019
12-2019
01-2020
6 Comments
Megan Mirkhanian
on 20 Jan 2020
Star Strider
on 20 Jan 2020
It would help to have your ‘Data’ file.
That aside, (and assuming that ‘Data(:,1)’ is numeric, since that sstill has not been revealed), try this:
yms = compose('%6d',Data(",1));
my = datetime(yms, 'InputFormat','yyyymm', 'Format','mm-yyyy');
Megan Mirkhanian
on 20 Jan 2020
Walter Roberson
on 21 Jan 2020
Data.Var1 = datetime(Data.Var1, 'InputFormat', 'yyyymm', 'Format', 'mm-yyyy');
Star Strider
on 21 Jan 2020
@Walter — Thank you!
Note that for datetime objects lowercase mm represents minutes and uppercase MM represents months:
It is very unlikely that the data really encoded a timestamp of "yearminute" which should then be displayed as "minute-year". Because the datetime format capitalization is not very intuitiive, it is worth reading/checking the datetime documentation every time, to easily avoid these kind of bugs.
Categories
Find more on Dates and Time in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!