首页 > 解决方案 > 在 R 中将日期偏移一个月

问题描述

我有个约会,比如说 2020 年 7 月 7 日。

my_date <- as.Date("2020/07/07")

我想把这个日期偏移一个月。所以它应该在 2020 年 8 月 7 日返回。

我试过my_date + 30了,但如果这个月有 30 天或 31 天,它就不起作用。

编辑

我的问题必须准确。如果日期是 2020 年 5 月 31 日呢?它应该抵消到 2020 年 6 月 30 日。请在基础 R 中提供帮助。

任何帮助将不胜感激。

标签: r

解决方案


使用%m+%lubridate

library(lubridate)
my_date <- as.Date("2020/07/07")
my_date %m+% months(1)
#[1] "2020-08-07"

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"

推荐阅读