필터 지우기
필터 지우기

Time between two dates

조회 수: 61 (최근 30일)
Miguel Herrera
Miguel Herrera 2018년 4월 18일
답변: Steven Brossi 2022년 8월 8일
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