【问题标题】:Find the first day of specific years ago from current day using lubridate package使用 lubridate 包从当天开始查找特定年份的第一天
【发布时间】:2021-12-27 03:06:46
【问题描述】:

我可以使用下面的代码找到几年前的日期:

library(lubridate)
today <- format(Sys.Date())
pre_3years <- ymd(today) - years(3)
pre_3years 

输出:

[1] "2018-12-27"

事实上,我希望得到pre_3year 的第一天,在这个例子中是2018-01-01,我怎么能在R 中使用lubridate 包来得到呢?谢谢。

【问题讨论】:

    标签: r datetime lubridate


    【解决方案1】:

    您可以使用lubridate 中的floor_date 来获得一年中的第一天。

    library(lubridate)
    first_day_of_n_prev <- function(x) {
      floor_date(Sys.Date() - years(x), 'year')  
    }
    
    first_day_of_n_prev(3)
    #[1] "2018-01-01"
    
    first_day_of_n_prev(2)
    #[1] "2019-01-01"
    

    【讨论】:

    • 谢谢,floor_date() 是我正在寻找的功能。另外,你把我的代码转换成一个函数,太棒了。
    猜你喜欢
    • 1970-01-01
    • 2016-03-15
    • 2014-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-11
    • 2012-02-14
    相关资源
    最近更新 更多