Seperate yyyymm to mm-yyyy
Mostrar comentarios más antiguos
I uploaded a table with one of the columns showing yyyymm,
How do I get tha column in the mm-yyyy format
Respuestas (1)
Star Strider
el 20 de En. de 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 comentarios
Megan Mirkhanian
el 20 de En. de 2020
Star Strider
el 20 de En. de 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
el 20 de En. de 2020
Walter Roberson
el 21 de En. de 2020
Data.Var1 = datetime(Data.Var1, 'InputFormat', 'yyyymm', 'Format', 'mm-yyyy');
Star Strider
el 21 de En. de 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.
Categorías
Más información sobre Dates and Time en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!