当使用“+”运算符增加日期(或日期时间)时,如何指定增量以天(或月、周或年)为单位?
> Sys.Date()
[1] "2013-08-23"
> Sys.Date() + 1
[1] "2013-08-24"
> ISOdate(2013,8,23)
[1] "2013-08-23 12:00:00 GMT"
> ISOdate(2013,8,23) + 1
[1] "2013-08-23 12:00:01 GMT"
当使用“+”运算符增加日期(或日期时间)时,如何指定增量以天(或月、周或年)为单位?
> Sys.Date()
[1] "2013-08-23"
> Sys.Date() + 1
[1] "2013-08-24"
> ISOdate(2013,8,23)
[1] "2013-08-23 12:00:00 GMT"
> ISOdate(2013,8,23) + 1
[1] "2013-08-23 12:00:01 GMT"
利用lubridate::days
> require(lubridate)
> Sys.Date()
[1] "2013-08-23"
> Sys.Date() + days(1)
[1] "2013-08-24"
> ISOdate(2013, 8, 23)
[1] "2013-08-23 12:00:00 GMT"
> ISOdate(2013, 8, 23) + days(1)
[1] "2013-08-24 12:00:00 GMT"
使用 lubridate,您还可以使用years()
,seconds()
等,或定义自己的duration
.
您可以使用seq进行一些基本计算:
today = Sys.Date()
fiveWeeksAhead = tail(seq(today, by = 'week', length = 5), 1)
如果您需要更高级的功能,或者使用像lubridate这样的包。
您可以使用lubridate
来添加天、周、月……以下是添加月和周的示例:
library(lubridate)
d <- as.Date('2004-01-01')
month(d) <- month(d) + 1
#[1] "2004-02-01"
week(d) <- week(d) + 1
#[1] "2004-02-08"