我想把一个月添加到我拥有的日期.但到目前为止它不可能以直接的方式进行.以下是我试过的.
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有一个日期,例如:
dt = as.Date('2010/03/17')
Run Code Online (Sandbox Code Playgroud)
我想从这个日期减去2年,而不用担心闰年和这样的问题as.Date('2010-03-17').
我该怎么办?
我想知道如何在日期上加上或减去数字。这是我必须使用的日期的示例:
"2000-01-01"
Run Code Online (Sandbox Code Playgroud)
我想在此日期前加上1年以获得:
"2001-01-01"
Run Code Online (Sandbox Code Playgroud)
我试过了,date + 1但是因为1是整数,所以它不起作用。这可能很简单,但我想知道如何去做。另外,可以用几个月和/或几天来做吗?
谢谢!