我有以下格式的两个日期:
'16:40:07.875'
'16:41:05.875'
Run Code Online (Sandbox Code Playgroud)
现在我尝试使用Matlab计算这两个日期字符串之间的差异,以秒为单位.我认为最好的方法是首先将日期字符串解析为日期类型,但我在Matlab中找不到任何日期类型.有没有?是否有预先构建的功能,然后我可以使用它来计算差异?
这是你如何做到的:
T1 = '16:40:07.875';
T2 = '16:41:05.875';
T3 = clock;
str1 = [num2str(T3(1:3)),' ',T1];
str2 = [num2str(T3(1:3)),' ',T2];
t1 = datevec(str1,'yyyy mm dd HH:MM:SS.FFF')
t2 = datevec(str2,'yyyy mm dd HH:MM:SS.FFF')
Dt = etime(t2,t1);
Run Code Online (Sandbox Code Playgroud)
在这种情况下Dt是58.
一些解释:
编辑
As Oleg Komarov指出,这就足够了:
t1 = datevec(T1,'HH:MM:SS.FFF')
t2 = datevec(T2,'HH:MM:SS.FFF')
Dt = etime(t2,t1);
Run Code Online (Sandbox Code Playgroud)