String convertion to date
조회 수: 5 (최근 30일)
이전 댓글 표시
Hello. I have the following strings
a= '16deNoviembredel2017'
b= '20:56:14'
I would like to convert the string into a specific date time format as indicated below
dt_event= datetime([a,b],'InputFormat','ddMMMMyyyyHH:mm:ss', 'Format','yyyy_MM_dd HH_mm_ss');
Could you please help me to correct the inputFormat to make it readable. Thank you.
Jorge
댓글 수: 4
Jan
2023년 2월 7일
Then my question is: Can you ask the authors of these files to use a less obscure date format? Text files are wanted to be processable by code, so why deciding for a format which is hard to parse?
But I know: In many cases it is impossible to modifiy the inputs and the programmers have to live with strange data.
채택된 답변
Jan
2023년 2월 7일
a = '16deNoviembredel2017';
b = '20:56:14';
dt_event = datetime([a,b], 'Locale', 'es_ES', ...
'InputFormat', 'dd''de''MMMM''del''yyyyHH:mm:ss', ...
'Format','yyyy_MM_dd HH_mm_ss')
This works for this specific input, but are the keys "de" and "del" really fixed? I do not speak Spanish.
추가 답변 (1개)
Benjamin Kraus
2023년 2월 7일
편집: Benjamin Kraus
2023년 2월 7일
Note, I don't speak Spanish, so I'm not sure of the proper user of "de" and "del", so this answer may need to be adjusted.
I suspect you are going to need to manually remove "de" and "del" before you can use datetime. For example:
a = '16deNoviembredel2017';
b = '20:56:14';
a_ = regexprep(a,'(\d{2})de(\w+)del(\d{4})','$1$2$3')
dt_event= datetime([a_,b],'InputFormat','ddMMMMyyyyHH:mm:ss', ...
'Format','yyyy_MM_dd HH_mm_ss','Locale','es_ES')
참고 항목
카테고리
Help Center 및 File Exchange에서 Dates and Time에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!