如何将以下产品(单位为天)准确转换difftime
为年,月和日?
difftime(Sys.time(),"1931-04-10")
difftime(Sys.time(),"2012-04-10")
这有几年和几天,但我怎么能包括几个月?
yd.conv<-function(days, print=TRUE){
x<-days*0.00273790700698851
x2<-floor(x)
x3<-x-x2
x4<-floor(x3*365.25)
if (print) cat(x2,"years &",x4,"days\n")
invisible(c(x2, x4))
}
yd.conv(difftime(Sys.time(),"1931-04-10"))
yd.conv(difftime(Sys.time(),"2012-04-10"))
我也不知道如何定义月份。将 4 周视为一个月或同一个月的一天。因此,如果初始日期是 2012-01-10 和当前的 2012-05-31,那么对于一个月的后期定义,那么我们将有 0 年 5 个月和 21 天。这很好用,但是如果原始日期是当月 31 日,而结束日期是 2 月 28 日,这会被视为一个月吗?
当我写这个问题时,问题本身已经演变,所以我最好澄清一下:
定义月份的最佳(最合乎逻辑的方法)是什么,然后如何找到年、月和日的差异时间?