Time between two dates

52 次查看(过去 30 天)
Lets say I have a time T1 = '2018-03-14 16:30:54' and another T2 = '2018-03-14 16:40:54' How can I find the total duration of the interval, as well as a "midpoint" in between said interval? My goal is to add an NaN entry every time there is a time gap greater than 10 minutes.
For example; '2018-03-14 16:30:54' '2018-03-14 16:40:54' %NaN entry would be added here '2018-03-14 17:20:15' '2018-03-14 17:30:15'
The purpose of adding this entry would be to remove discontinuity in graphs.

采纳的回答

the cyclist
the cyclist 2018-4-18
编辑:the cyclist 2018-4-18
T1 = datetime('2018-03-14 16:30:54');
T2 = datetime('2018-03-14 16:40:54');
dT = T2 - T1;
T_mid = T1 + dT/2;
  3 个评论
the cyclist
the cyclist 2018-4-19
编辑:the cyclist 2018-4-19
There might be a better way, but ...
dT > duration('12:00','InputFormat','mm:ss')
Peter Perkins
Peter Perkins 2018-4-19
dT > hours(12)
The cyclists code will work in R2018a or later, but in any case using hours seems much more readable to me.

请先登录,再进行评论。

更多回答(2 个)

Peter Perkins
Peter Perkins 2018-4-19
>> d = datetime(2018,3,14,16,[30 40],54)
d = 
  1×2 datetime array
   14-Mar-2018 16:30:54   14-Mar-2018 16:40:54
>> mean(d)
ans = 
  datetime
   14-Mar-2018 16:35:54
>> diff(d)
ans = 
  duration
   00:10:00

Steven Brossi
Steven Brossi 2022-8-8
How about
T1 = datetime('2018-03-14 16:30:54')
T1 = datetime
14-Mar-2018 16:30:54
T2 = datetime('2018-03-14 16:40:54')
T2 = datetime
14-Mar-2018 16:40:54
T_mid = mean([T1, T2])
T_mid = datetime
14-Mar-2018 16:35:54

类别

Help CenterFile Exchange 中查找有关 Dates and Time 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by