我正在尝试使用lubridate软件包来计算当月剩余的天数。我已经可以使用以下代码成功完成此操作;但是,这似乎很冗长且难以阅读。
as.duration(interval(start = ymd(Sys.Date()), end = ceiling_date(Sys.Date(), unit = "month"))) / ddays(1)
是否有更简便的方法?
在润滑中,您可以做:
days_in_month(now()) - mday(now())
尽管可以给您命名的矢量,所以最好这样做
as.numeric(days_in_month(now()) - mday(now()))
#> [1] 27
感谢@ H1指出我们可以使用now()
代替month(now())
基于@WaltS的建议,我们可以使用ceiling_date
获取下个月的开始日期,然后从中减去1天以获得当前月份的结束日期。减去今天的日期以获取月份中剩余的天数。
as.integer(ceiling_date(today(), "months") - today() - 1)