相关疑难解决方法(0)

在日期中添加一个月

我想把一个月添加到我拥有的日期.但到目前为止它不可能以直接的方式进行.以下是我试过的.

d <- as.Date("2004-01-31")
d + 60
# [1] "2004-03-31"
Run Code Online (Sandbox Code Playgroud)

添加不会有帮助,因为月份不会重叠.

seq(as.Date("2004-01-31"), by = "month", length = 2) 
# [1] "2004-01-31" "2004-03-02"
Run Code Online (Sandbox Code Playgroud)

以上可能有用,但同样不是直截了当.此外它还增加了30天或某些东西到日期,如下所示的问题

seq(as.Date("2004-01-31"), by = "month", length = 10) 
#  [1] "2004-01-31" "2004-03-02" "2004-03-31" "2004-05-01" "2004-05-31" "2004-07-01" "2004-07-31" "2004-08-31" "2004-10-01" "2004-10-31"
Run Code Online (Sandbox Code Playgroud)

在上面,对于前2个日期,月份没有变化.

以下方法也在一个月内失败,但是一年的成功

d <- as.POSIXlt(as.Date("2010-01-01"))
d$year <- d$year +1
d
# [1] "2011-01-01 UTC"
d <- as.POSIXlt(as.Date("2010-01-01"))
d$month <- d$month +1
d
Run Code Online (Sandbox Code Playgroud)

错误format.POSIXlt(x, usetz = TRUE):无效'x'参数

这样做的正确方法是什么?

r date date-arithmetic

54
推荐指数
7
解决办法
8万
查看次数

标签 统计

date ×1

date-arithmetic ×1

r ×1