Calculate the number of days between two datetimes?
92 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Brendan Hamm
2016-11-10
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 个评论
更多回答(1 个)
Peter Perkins
2016-11-15
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 个评论
Peter Perkins
2016-11-18
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Dates and Time 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!