Importing data from csv file and my time data is being ruined changes from 24 hour time to 59 hour. How do I fix?
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Lucas
el 17 de En. de 2023
I have a csv file and I'm trying to import times in the format of HH:mm:ss.SSS a, the data is in one column and looks like 1/2/1900 13:13:21.897 AM. How do I extract just the time from this column? I tried to export with format 'mm/dd/yyyy HH:mm:ss.SSS a', but when I do this my data is stored in matlab as 59:13:21.897. The hour time is saved as 59 no matter how I try to read the table. How can I fix this?
All help is appreciated, thank you!
0 comentarios
Respuesta aceptada
Stephen23
el 17 de En. de 2023
Editada: Stephen23
el 17 de En. de 2023
"I tried to export with format 'mm/dd/yyyy HH:mm:ss.SSS a', "
Months are MM, minutes are mm:
"How can I fix this?"
Use the correct format for months. But you have another problem:
in = '1/2/1900 13:13:21.897 AM';
dt = datetime(in, 'inputFormat','MM/dd/y HH:mm:ss.SSS a')
As the warning states, it is highly unusual to use 24 hour times with AM/PM, and causes unexpected outputs.
Perhaps you want this:
dt = datetime(regexprep(in,'\s*[AP]M$',''), 'inputFormat','MM/dd/y HH:mm:ss.SSS')
"How do I extract just the time from this column?"
Use TIMEOFDAY(): https://www.mathworks.com/help/matlab/ref/datetime.timeofday.html
t = timeofday(dt)
PS: Practice reading the documentation, you can find all date/time functions here:
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Numeric Types en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!