Importing data from csv file and my time data is being ruined changes from 24 hour time to 59 hour. How do I fix?
15 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Stephen23
le 17 Jan 2023
Modifié(e) : Stephen23
le 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 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Numeric Types 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!