我正在尝试复制website的功能-获取以年-月-日为单位的两个日期之间的差。
我设法以一种非常肮脏的方式获得了年月差异:
paste(
floor(
interval(as.Date("1985-09-17"),
as.Date("1996-03-13"))
%/% months(1) /12), ' years, ',
ifelse(
ceiling(((interval(as.Date("1985-09-17"),
as.Date("1996-03-13"))
%/% months(1) /12) %% 1 )*12)<10,
paste0('0',ceiling(((interval(as.Date("1985-09-17"),
as.Date("1996-03-13"))
%/% months(1) /12) %% 1)*12)),
ceiling(((interval(as.Date("1985-09-17"),
as.Date("1996-03-13"))
%/% months(1) /12) %% 1 )*12)),' months', sep='')
[1] "10 years, 04 months"
有更好的方法吗?我发现了类似的问题here,但没有令人满意的答案,而且我猜想从那时起就开发了许多新软件包,所以也许有一种简单的方法可以做到这一点
答案 0 :(得分:0)
您可以尝试以下操作:
as.Date(as.numeric(as.Date("1996-03-13"))
-as.numeric(as.Date("1985-09-17")),
origin = "2000-01-01")
然后读取从原点开始的年月日。