使用 R 查找特定天/月前的日期

Posted

技术标签:

【中文标题】使用 R 查找特定天/月前的日期【英文标题】:Find a date specific days/months ago using R 【发布时间】:2022-01-24 04:02:09 【问题描述】:

我通过以下方式获得今天的日期:

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

我希望找到特定日期/月份(我们以 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

衷心感谢您提前提供的帮助。

【问题讨论】:

仅供参考:有一个Sys.Date() 函数可以返回没有时间部分的今天日期。 很高兴知道,谢谢,我将其添加为评论。 【参考方案1】:

如果您使用的是lubridate,您可以像这样简单地添加减去天/月等。

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"

【讨论】:

感谢您回答我的问题,我以为我们需要使用difftime() 函数。

以上是关于使用 R 查找特定天/月前的日期的主要内容,如果未能解决你的问题,请参考以下文章

javascript如何获取一个月前的日期并取出星期几

Android DatePicker Fragment 返回一个月前的日期

如何计算3个月前的到期日期将到期

[SQL计数从一个月前的表

如何使用 Python 仅查找包含该月最后一天的日期的文件?

linux 删除指定日期之前的文件