I have a vector of dates in the format yyyymm, however matlab is not recognizing it for a timetable. Any suggestions?

 채택된 답변

Star Strider
Star Strider 2020년 11월 23일

0 개 추천

You did not mention how you were importing them.
Try importing them this way:
dv = {'202011'
'202012'}
datetime(dv, 'InputFormat','yyyyMM', 'Format','MM-yyyy')
That works for me.

댓글 수: 3

Jose Vazquez
Jose Vazquez 2020년 11월 23일
it's a 1093x1 double
That is similar to changing header to csv using writetable with a similar solution:
dv = [202011
202012];
DT = datetime(num2str(dv), 'InputFormat','yyyyMM', 'Format','MM-yyyy')
producing:
DT =
2×1 datetime array
11-2020
12-2020
Or if you want them in the same format as the input:
DT = datetime(num2str(dv), 'InputFormat','yyyyMM', 'Format','yyyyMM')
producing:
DT =
2×1 datetime array
202011
202012
.
You can skip the num2str with a little bit of arithmetic.
x = (202001:202006).'
x = 6×1
202001 202002 202003 202004 202005 202006
DT = datetime(100*x+1, 'ConvertFrom', 'yyyymmdd')
DT = 6×1 datetime array
01-Jan-2020 01-Feb-2020 01-Mar-2020 01-Apr-2020 01-May-2020 01-Jun-2020

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Dates and Time에 대해 자세히 알아보기

태그

질문:

2020년 11월 23일

댓글:

2020년 11월 23일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by