Importing data from csv file and my time data is being ruined changes from 24 hour time to 59 hour. How do I fix?
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Lucas
am 17 Jan. 2023
Bearbeitet: Stephen23
am 17 Jan. 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 Kommentare
Akzeptierte Antwort
Stephen23
am 17 Jan. 2023
Bearbeitet: Stephen23
am 17 Jan. 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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Data Type Conversion 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!