我有个约会,比方说 2020 年 7 月 7 日。
my_date <- as.Date("2020/07/07")
Run Code Online (Sandbox Code Playgroud)
我想将这个日期抵消一个月。所以它应该在 2020 年 8 月 7 日返回。
我试过,my_date + 30但如果一个月有 30 或 31 天,它就不起作用。
编辑
我的问题必须准确。如果日期是 2020 年 5 月 31 日怎么办?它应该抵消到 2020 年 6 月 30 日。请在 R 基础上提供帮助。
任何帮助将不胜感激。
使用%m+%自lubridate
library(lubridate)
my_date <- as.Date("2020/07/07")
my_date %m+% months(1)
#[1] "2020-08-07"
Run Code Online (Sandbox Code Playgroud)
my_date + months(1) 在这种情况下也适用,但如果是每月的最后一天,它会搞乱计算。
my_date <- as.Date("2020/05/31")
my_date + months(1)
#[1] NA
my_date %m+% months(1)
#[1] "2020-06-30"
Run Code Online (Sandbox Code Playgroud)