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 件のコメント

Walter Roberson
Walter Roberson 2018 年 11 月 20 日
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 日

0 投票

ntd = td(:)+cumsum([0;diff(td(:))<0])*days(1);
Now apply your code to ntd .

その他の回答 (1 件)

カテゴリ

ヘルプ センター および File ExchangeCreating and Concatenating Matrices についてさらに検索

製品

リリース

R2017b

タグ

質問済み:

2018 年 11 月 20 日

編集済み:

2018 年 11 月 21 日

Community Treasure Hunt

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

Start Hunting!

Translated by