Can I set a datetime locale for readtable in a script?

7 visualizaciones (últimos 30 días)
dormant
dormant el 12 de Feb. de 2025
Comentada: dormant el 12 de Feb. de 2025
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.

Respuesta aceptada

Star Strider
Star Strider el 12 de Feb. de 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 comentarios
Walter Roberson
Walter Roberson el 12 de Feb. de 2025
datetime(["12/1/2024 1:00:05", "12/01/2024 01:00:05"], 'InputFormat', 'dd/MM/yyyy HH:mm:ss')
ans = 1x2 datetime array
12-Jan-2024 01:00:05 12-Jan-2024 01:00:05
dormant
dormant el 12 de Feb. de 2025
Thanks. This sorted my problem.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Dates and Time en Help Center y File Exchange.

Productos


Versión

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by