time difference(milliseconds) at midnight error!

Hello,
I am calcualting the time diffrence beetwen a set of values (duration) , it`s working but calculating t.d. at midnight gives me wrong answer:
for i=6:100
disp(milliseconds(td(i) - td(i-5)) - 20000);
end
I have the -20000 bc I always have a 20 seconds delay , I am only interested in the ms without the 20 s
example of my td :
....
'23:59:55'
'23:59:56'
'23:59:56'
'00:00:16'
'00:00:16'
'00:00:17'
'00:00:17'
'00:00:17'
'00:00:37'
'00:00:37'
....
and the output is :
748
748
748
-86399252
-86399236
-86399252
-86399252
-86399252
748
732
until midnight all the values are correct , I calculated them myself,.
how can I solve the problem for the midnight time diff?
*I am using matlab R2017b

1 个评论

if those are duration objects that are all less than 24 hours then the output would appear to be correct.

请先登录,再进行评论。

 采纳的回答

Walter Roberson
Walter Roberson 2018-11-21
编辑:Walter Roberson 2018-11-21
ntd = td(:)+cumsum([0;diff(td(:))<0])*days(1);
Now apply your code to ntd .

更多回答(1 个)

类别

帮助中心File Exchange 中查找有关 MATLAB 的更多信息

产品

版本

R2017b

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by