微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 YYYYMM 转换为该月的最后一个工作日或工作日

如何解决将 YYYYMM 转换为该月的最后一个工作日或工作日

我有一个 YYYYMM 格式的日期,即

d <- "202003"

我想将其设为日期对象,并使用 as.yearmon 中的 zoohttps://stat.ethz.ch/pipermail/r-help/2007-September/141796.html 中的技巧

lastday <- as.Date(as.yearmon(d,"%Y%m"),frac = 1)

但这给了我一个月的最后一个日历日。我怎样才能获得一个月的最后一个工作日工作日

提前致谢

托马斯飞利浦

解决方法

如果最后一天是星期六,则减去 1 天,如果是星期日,则减去 2 天。使用 %u 格式化将在星期六给出 6,在星期日给出 7,因此从中减去 5,如果它是负数,则将其减去 0。

lastday - pmax(as.numeric(format(lastday,"%u")) - 5,0)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。