Calculate the number of days between two datetimes?
86 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Jussi Ikäheimo
el 10 de Nov. de 2016
Comentada: Peter Perkins
el 18 de Nov. de 2016
How to calculate the number of days between two datetimes?
days(between(day1,day2)) does not work:
"Error using days (line xxx) Input data must be a real, numeric array."
0 comentarios
Respuesta aceptada
Brendan Hamm
el 10 de Nov. de 2016
You can do:
days(day2-day1)
The issue is that the between function returns a calendarDuration and this is measured using variable time-frames like months and years which contain different numbers of days.
0 comentarios
Más respuestas (1)
Peter Perkins
el 15 de Nov. de 2016
between already calculated the difference between those two dates in days:
>> d1 = datetime('yesterday'); d2 = datetime('tomorrow');
>> between(d1,d2)
ans =
calendarDuration
2d
Even more explicitly:
> between(d1,d2,'days')
ans =
calendarDuration
2d
If you then want the number 2, use caldays:
>> caldays(between(d1,d2,'days'))
ans =
2
Hope this helps.
2 comentarios
Peter Perkins
el 18 de Nov. de 2016
Jussi, I'm not sure what you're saying. All I wanted to demonstrate was that between gives you back a quantity that already measures the number of days. If you need a numeric value, then caldays is the function you want to apply to that, not days.
Ver también
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!