Seperate yyyymm to mm-yyyy
Ältere Kommentare anzeigen
I uploaded a table with one of the columns showing yyyymm,
How do I get tha column in the mm-yyyy format
Antworten (1)
Star Strider
am 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 Kommentare
Megan Mirkhanian
am 20 Jan. 2020
Star Strider
am 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
am 20 Jan. 2020
Walter Roberson
am 21 Jan. 2020
Data.Var1 = datetime(Data.Var1, 'InputFormat', 'yyyymm', 'Format', 'mm-yyyy');
Star Strider
am 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.
Kategorien
Mehr zu Dates and Time finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!