我是lubridate
的新手。我尝试用lubridate
计算两组时间之间的时差,但对于间隔,持续时间和周期却得到了些许不同的答案
library(lubridate)
a <- dmy_hms("9/7/1988 4:30:00")
b <- dmy_hms("2/11/2019 4:30:00")
c <- a %--% b
per <- as.period(c)
dur <- as.duration(c)
time_length(c, unit = "year") #31.31694
time_length(per, unit = "year") #31.33716
time_length(dur, unit = "year") #31.33699
as.duration
获得的?as.duration
文档中所述,as.duration
将返回精确时间测量,而as.period
将提供相对测量。它继续指出:
因此,持续时间和期间之间不存在一对一的映射。与期间对象一起使用时,as.duration提供了对期间长度的不精确估计;
因此,使用time_length
将导致as.period
和as.duration
的结果不同。