Time between two dates

53 visualizaciones (últimos 30 días)
Miguel Herrera
Miguel Herrera el 18 de Abr. de 2018
Respondida: Steven Brossi el 8 de Ag. de 2022
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.

Respuesta aceptada

the cyclist
the cyclist el 18 de Abr. de 2018
Editada: the cyclist el 18 de Abr. de 2018
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 comentarios
the cyclist
the cyclist el 19 de Abr. de 2018
Editada: the cyclist el 19 de Abr. de 2018
There might be a better way, but ...
dT > duration('12:00','InputFormat','mm:ss')
Peter Perkins
Peter Perkins el 19 de Abr. de 2018
dT > hours(12)
The cyclists code will work in R2018a or later, but in any case using hours seems much more readable to me.

Iniciar sesión para comentar.

Más respuestas (2)

Peter Perkins
Peter Perkins el 19 de Abr. de 2018
>> 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 el 8 de Ag. de 2022
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

Categorías

Más información sobre Dates and Time en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by