Spring自带的定时任务
spring自带的Cron表达式不支持每个月的最后一天(eg:0 59 23 L 3,6,9,12 ?)
cron表达式链接: cron表达式
解决方案:
//每个季度的最后一天
@Scheduled(cron = "0 59 23 28-31 3,6,9,12 ?")
public void execute() {
final Calendar c = Calendar.getInstance();
//获取当前时间(天)和当月的最后一天,判断是否相同
if (c.get(Calendar.DATE) == c.getActualMaximum(Calendar.DATE)) {
//是最后一天,则执行业务代码
log.info("是最后一天");
}
}