从R中的当前日期获取上个月的开始日期和结束日期
从R中的当前日期获取上个月的开始日期和结束日期是否有简单的方法 我只有当前日期。从中,我想得到上个月,上个月的开始日期,上个月的结束日期从R中的当前日期获取上个月的开始日期和结束日期,r,date,R,Date,从R中的当前日期获取上个月的开始日期和结束日期是否有简单的方法 我只有当前日期。从中,我想得到上个月,上个月的开始日期,上个月的结束日期 currentDate<-Sys.Date() #return today's date as "2012-11-07" currentDate许多软件包都有方便的日期功能,但要实现自己的功能: 月初功能: som <- function(x) { as.Date(format(x, "%Y-%m-01")) } 本月初: som(som(
currentDate<-Sys.Date() #return today's date as "2012-11-07"
currentDate许多软件包都有方便的日期功能,但要实现自己的功能:
月初功能:
som <- function(x) {
as.Date(format(x, "%Y-%m-01"))
}
本月初:
som(som(Sys.Date()) - 1)
[1] "2012-10-01"
您可以使用库lubridate,它非常擅长进行日期算术
library(lubridate)
currentDate <-Sys.Date()
# end of previous month:
eopm <- currentDate - days(day(currentDate))
# [1] "2012-10-31"
# start of previous month:
sopm <- currentDate - days(day(currentDate))
sopm <- sopm - days(day(sopm) - 1)
# [1] "2012-10-01"
库(lubridate)
currentDate使用lubridate
这是小菜一碟:
library(lubridate)
floor_date(Sys.Date() - months(1), "month")
在R中有很多好的库。看起来你需要的一切都已经创建好了
更新版本:
library(lubridate)
floor_date(as.Date("2011-03-29"), "month") - months(1)
此选项已更正,可以在3月29日正常工作。lubridate软件包的另一个选项是使用回滚功能,正如描述所述,该功能可以准确地执行此操作
回滚将日期更改为上个月的最后一天或当月的第一天。或者,新日期可以保留相同的小时、分钟和秒信息
库(lubridate)
currentDate上月开始日期:
format(Sys.Date() - 30, '%Y-%m-01')
上月结束日期:
as.Date(format(Sys.Date(), '%Y-%m-01')) - 1
使用timeperiodsR
获取任何时段的开始和结束日期
#安装程序包(“timeperiodsR”)
timeperiodsR::上个月()
请发布示例数据、预期结果,并展示您尝试过的内容。下个月的开始和结束日期如何?此解决方案是错误的,例如,截止日期(“2011-03-29”)-月(1),“月”)
给出了NA.Andre,您是对的。非常感谢。这也应该适用于03-29:截止日期(“2011-03-29”),“月”)-月(1)这是一个聪明的日期:)
library(lubridate)
currentDate <- Sys.Date()
end_last_month <- rollback(currentDate)
init_last_month <- rollback(end_last_month, roll_to_first = TRUE)
format(Sys.Date() - 30, '%Y-%m-01')
as.Date(format(Sys.Date(), '%Y-%m-01')) - 1