以前在银行上班的时候,出分析报告需要用到环比、定比、同比之类的,有时候领导比较关心较上季度末的变动情况,这就需要根据当前日期返回前一个季度的最后一天的日期,比如,今天是2021-10-14,它的前一个季度是三季度,三季度的最后一天是2021-09-30, 同理,如果当天是2019-01-11, 则返回2018-12-31。 此前这个问题我发在了统计之都上,详见:如何返回某一给定日期的前一个季度的最后一天的日期,谢益辉给出了一个很棒的解答,另外他还专门写了一篇日志《论代码的句感》详细解释了代码的含义。非常感谢他的认真回复。 为了将来用到的时候方便查找,我把代码放在我的网站里,同时也分享给各位读者。 last_quarter_day = function(dates) { dates = as.Date(dates) month = as.integer(format(dates, '%m')) year = as.integer(format(dates, …