How to account for the day suffix when using datetime to recognise dates in matlab?
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Pedro Viana
am 1 Nov. 2019
Kommentiert: Pedro Viana
am 5 Nov. 2019
I have a cell array T containing a column of dates from several events, formatted as follows:
17×1 cell array
{'Mon 14th Oct 2019 8:23:48 am' }
{'Thu 10th Oct 2019 8:00:26 am' }
...
{'Tue 3rd Sep 2019 9:03:53 am' }
{'Thu 22nd Aug 2019 6:00:29 am' }
I would like to use datetime to recognize the dates in each cell, however the date contains the suffix for the day of the month ("14th", "10th", etc.), and I couldn't find an option in the input format to account for day suffixes.
If I (manually) remove the suffixes from the days, the following works fine:
datetime(T{1,1},'InputFormat','eeee dd MMMM yyyy hh:mm:ss a')
ans =
datetime
14-Oct-2019 08:23:48
Is there a way to account for the day suffixes (or to automatically remove them before using datetime)?
Thanks
Pedro Viana
0 Kommentare
Akzeptierte Antwort
Peter Perkins
am 4 Nov. 2019
Pedro, you could put a literal th in the format,
'eeee dd ''th''MMMM yyyy hh:mm:ss a'
and read most of them, and go back and read all the places where you got a NaT, using a literal nd in the format, then again with a literal st. But honestly, the simplest thing is to use replace or strrep to pre-process the text.
Just out of curiosity, where did these timestamps come from?
1 Kommentar
Weitere Antworten (1)
Jyotsna Talluri
am 5 Nov. 2019
If dates are in a particular format given by you,suffixes {"th","nd","st","rd"} can be removed by
erase(T,["th","nd","st","rd"]);
There can be other ways to do this also
0 Kommentare
Siehe auch
Kategorien
Mehr zu Entering Commands finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!