Conversion from d:h:m:s:ms to seconds
Show older comments
Hi folks, I've been given a large data array of timetags that I would like to change to seconds but just don't have the knowledge to be able to do so yet.
I've managed to extract this field's data from a structure, giving me a large 10000x1 cell array of data that looks exactly like this:
%e.g. sample data
%.
%.
'104d:11h:59m:38.934815s'
'104d:11h:59m:38.936032s'
'104d:11h:59m:39.014802s'
'104d:11h:59m:39.016018s'
%.
%.
From this I would like to be able to convert the HOURS, MINUTES, SECONDS and MILLISECONDS all into seconds format to be able to perform calculations with these, negating the days.
Hope someone can help!
Thanks,
C.
Accepted Answer
More Answers (1)
format long % to display milli seconds
DateTimeStr = {'104d:11h:59m:38.934815s','104d:11h:59m:38.936032s','104d:11h:59m:39.014802s','104d:11h:59m:39.016018s'};
DateTimeStr = regexprep(DateTimeStr,'\d+d:',''); % negating the days
times = datetime(DateTimeStr,"Format","HH'h:'mm'm:'ss.SSSSSS's'")
scnds = hour(times).*3600 + minute(times).*60 + second(times);
seconds(scnds) % convert the HOURS, MINUTES, SECONDS and MILLISECONDS all into seconds format
Categories
Find more on Data Type Conversion in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!