Not able to convert string to seconds! Even though I am using datenum function. How can it be solved?
5 views (last 30 days)
I have been trying to convert time string from a large datal, but it Matlab gives me "Unrecognized millisecond format. Format string: HH:MM:SS.FFFF."
And I would like to get the data immediately from the file instead of importing them.
The format of the string is
Here is the code:
masoud sistaninejad on 30 Jul 2023
in MATLAB R202a and later you can use
datetime command like this ...
t1 = '12:10:02.908990'
Walter Roberson on 30 Jul 2023
Edited: Walter Roberson on 30 Jul 2023
datenum() only supports up to millisecond resolution -- so at most FFF .
Also, your input format needs to account for the entire input string. You cannot just specify FFF and expect it to stop parsing after it reads 3 digits of milliseconds.
t1 = '12:10:02.908990';
d = duration(t1, 'InputFormat', 'hh:mm:ss.SSSSSS', 'format','hh:mm:ss.SSSSSS')
datenum_you_were_looking_for = seconds(d) / (24 * 60 * 60)
ds = datestr(datenum_you_were_looking_for, 31) %cross-checking
I don't think the number of days since the beginning of "0 AD" is going to be useful, especially with the lost resolution (because datenum just do not have the resolution)- You should probably be seriously considering getting rid of using datenum()