年-月-日格式之间的日期之间的差异

时间:2019-03-20 09:19:10

标签: r

我正在尝试复制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,但没有令人满意的答案,而且我猜想从那时起就开发了许多新软件包,所以也许有一种简单的方法可以做到这一点

1 个答案:

答案 0 :(得分:0)

您可以尝试以下操作:

as.Date(as.numeric(as.Date("1996-03-13"))
        -as.numeric(as.Date("1985-09-17")), 
        origin = "2000-01-01")

然后读取从原点开始的年月日。