将 YYYYMM 转换为该月的最后一个工作日或工作日
Converting YYYYMM to the last weekday or business day of the month
我有一个 YYYYMM 格式的日期,即
d <- "202003"
我想将其设为日期对象,并使用 zoo
中的 as.yearmon
和 https://stat.ethz.ch/pipermail/r-help/2007-September/141796.html
中的技巧
lastday <- as.Date(as.yearmon(d, "%Y%m"), frac = 1)
但这给了我这个月的最后一个 日历 天。我怎样才能得到最后一个 business 天或 weekday 这个月?
提前致谢
托马斯·飞利浦
如果最后一天是星期六,则减去 1 天;如果最后一天是星期日,则减去 2 天。使用 %u 格式化将为星期六提供 6,为星期日提供 7,因此从中减去 5,如果为负数则为 0。
lastday - pmax(as.numeric(format(lastday, "%u")) - 5, 0)
我有一个 YYYYMM 格式的日期,即
d <- "202003"
我想将其设为日期对象,并使用 zoo
中的 as.yearmon
和 https://stat.ethz.ch/pipermail/r-help/2007-September/141796.html
lastday <- as.Date(as.yearmon(d, "%Y%m"), frac = 1)
但这给了我这个月的最后一个 日历 天。我怎样才能得到最后一个 business 天或 weekday 这个月?
提前致谢
托马斯·飞利浦
如果最后一天是星期六,则减去 1 天;如果最后一天是星期日,则减去 2 天。使用 %u 格式化将为星期六提供 6,为星期日提供 7,因此从中减去 5,如果为负数则为 0。
lastday - pmax(as.numeric(format(lastday, "%u")) - 5, 0)