我的日期格式为2015-03
(即年月)。现在我想计算两个日期之间的月差。
示例:日期2015-03
和2014-12
之间的差异应为3或4,因为12月到3月是3个月或4个月,具体取决于我们是否考虑12月。
答案 0 :(得分:5)
您可以通过diff
require(lubridate)
a <- c("2015-03","2014-12")
a_parsed <- ymd(paste0(a,"-01")) # There might be a nicer solution to get the dates
diff(year(a_parsed)) * 12 + diff(month(a_parsed)) # Results in 3
使用+ 1
来&#34;考虑12月和#34;
说明:
diff(year(a_parsed))
为您提供了由此产生的月份* 12
的差异。 diff(month(a_parsed))
导致月度差异,忽略年度差异。结合它会导致您要求的每月差异。
答案 1 :(得分:1)
a <- "2015-03"
b <- "2014-12"
a <- unlist(strsplit(a, "-"))
b <- unlist(strsplit(b, "-"))
a <- (as.numeric(a[1])*12) + as.numeric(a[2])
b <- (as.numeric(b[1])*12) + as.numeric(b[2])
difference <- diff(c(b,a))
difference
结果是3