如何在MatLab中计算2个日期时间和四舍五入之间的持续时间

lnvxswe2  于 2022-11-15  发布在  Matlab
关注(0)|答案(1)|浏览(249)

给定两个datetimet1t2,我想以周为单位计算两者之间的持续时间,然后四舍五入。
内置的between给出了四舍五入的数字。例如,

>> t1=datetime('20220817','InputFormat','yyyyMMdd');
>> t2=datetime('20220812','InputFormat','yyyyMMdd');
>> char(between(t2,t1,'weeks'))   % desire 1w
ans = 
  calendarDuration
   0d
>> t2=datetime('20220804','InputFormat','yyyyMMdd');
>> char(between(t2,t1,'weeks'))    % desire 2w
ans = 
  calendarDuration
   1w

对于coruse,不一定要使用between。实际上,calendarDuration对我来说并不方便,因为我想要的是周数,而不是日历持续时间。但我不想处理基于确切日期的t1t2之间的真实天数。
如何获取四舍五入的周数?

elcex8rz

elcex8rz1#

您可以使用函数caldays提取天数,将其除以7,然后计算结果的单元格:

t1=datetime('20220817','InputFormat','yyyyMMdd');
t2=datetime('20220812','InputFormat','yyyyMMdd');
ceil(caldays(between(t2,t1))/7)

ans =

     1

t2=datetime('20220804','InputFormat','yyyyMMdd');
ceil(caldays(between(t2,t1))/7)

ans =

     2

相关问题