Calculate the number of days between two datetimes?
83 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Jussi Ikäheimo
am 10 Nov. 2016
Kommentiert: Peter Perkins
am 18 Nov. 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 Kommentare
Akzeptierte Antwort
Brendan Hamm
am 10 Nov. 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 Kommentare
Weitere Antworten (1)
Peter Perkins
am 15 Nov. 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 Kommentare
Peter Perkins
am 18 Nov. 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.
Siehe auch
Kategorien
Mehr zu Dates and Time finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!