Conversion from d:h:m:s:ms to seconds
조회 수: 10 (최근 30일)
이전 댓글 표시
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.
댓글 수: 0
채택된 답변
Stephen23
2023년 5월 12일
편집: Stephen23
2023년 5월 12일
"negating the days."
I guess you really mean to ignore the days.
format long G
C = {'104d:11h:59m:38.934815s';'104d:11h:59m:38.936032s';'104d:11h:59m:39.014802s';'104d:11h:59m:39.016018s'}
Method one: SSCANF and matrix multiplication:
M = sscanf([C{:}],'%fd:%fh:%fm:%fs',[4,Inf]).';
V = M * [0;60*60;60;1] % seconds
Method two: SPLIT, EXTRACTBEFORE, STR2DOUBLE, matrix multplication:
M = str2double(extractBefore(split(C,':'),lettersPattern));
V = M * [0;60*60;60;1] % seconds
Method three: REPLACE and EXTRACTAFTER and DURATION and SECONDS:
V = seconds(duration(extractAfter(replace(C,lettersPattern,''),':')))
추가 답변 (1개)
Atsushi Ueno
2023년 5월 12일
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
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Type Conversion에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!