是否可以计算两个日期之间的距离,以数月或数年为单位?

PAC*_*PAC 2 r date

difftime()功能可以轻松计算两天或几周内的差异,但没有选项可以计算月份或年份的差异.有什么理由吗?你知道任何执行这项任务的功能吗?

Mat*_*rde 14

从评论:月份和年份不是精确的时间单位,也就是说,它们的长度不同(月份可以有28,29,30,31天.年份可以有365或366).如果要为其中一个单位修正值(例如,月份= 30天,年份= 365天),您可以将difftime天数除以固定值,以获得所需单位的差异.或者,如果您只想要两个日期之间的完整月数,则可以执行此操作

date1 = as.Date('2012-1-2')
date2 = as.Date('2012-7-5')
length(seq(from=date1, to=date2, by='month')) - 1
# [1] 6
Run Code Online (Sandbox Code Playgroud)

或者持续数周:

length(seq(from=date1, to=date2, by='week')) - 1
# [1] 26
Run Code Online (Sandbox Code Playgroud)