使用 R 查找 days/months 前的特定日期

Find a date specific days/months ago using R

我使用以下方法获取今天的日期:

> today <- format(Sys.time(), "%Y-%m-%d")
> # or use `today <- format(Sys.Date())`
> today
[1] "2021-12-23"

我希望找到一个具体的日期 days/months(我们以 60 天2 个月 为例)之前,我怎么能在 R 中做到这一点?

Python 中的等效代码为:

import datetime
from dateutil.relativedelta import relativedelta

day1 = datetime.date.today() - datetime.timedelta(days=60)
day2 = datetime.date.today() - relativedelta(months=2)
print(day1)
2021-10-24
print(day2)
2021-10-23

衷心感谢您的提前帮助。

如果您正在使用 lubridate,您可以像这样简单地添加减去 days/months 等。

library(lubridate)

today <- format(Sys.time(), "%Y-%m-%d")

today

ymd(today) - days(60)

ymd(today) - months(2)
> today
[1] "2021-12-23"
> 
> ymd(today) - days(60)
[1] "2021-10-24"
> 
> ymd(today) - months(2)
[1] "2021-10-23"