Can I set a datetime locale for readtable in a script?
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am having problems reading datetimes with readtable. This is on a set of csv files where the date and time formats differ slightly. (I have no control over the file format.)
One file might have:
12/01/2024 01:00:05, 1
Another file might have:
12/1/2024 1:00:05, 1
All dates are in UK-style format. My default locale (on Linux) is en_US.utf8.
When I use readtable, MATLAB correctly parses the date format as being UK-style for most of the files. But for some files, it uses the US format. This if for files where the day number never goes above 12.
I don't want to change the default Linux locale, or the default MATLAB locale, because I have existing scripts that read dates in US-style format.
How can I change this one script to force MATLAB to use UK-style dates? Specifying the format as "dd/MM/yyyy :hh:mm:ss" doesn't seem to work because of the lack of zero-padding at times.
0 commentaires
Réponse acceptée
Star Strider
le 12 Fév 2025
Note that "dd/MM/yyyy :hh:mm:ss" uses 12-hour format (using hh for the hours) without the AM/PM indicator. To use 24-hour format, use HH for the hours.
If the AM/PM indicator is the ‘1’ it might be necessary to programatically change that (using strrep or something similar), since I cannot find any reference to it in the documentation.
3 commentaires
Walter Roberson
le 12 Fév 2025
datetime(["12/1/2024 1:00:05", "12/01/2024 01:00:05"], 'InputFormat', 'dd/MM/yyyy HH:mm:ss')
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Dates and Time dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!