java 定时,Calendar取上一个月,包含跨年情况
Calendar calendar = Calendar.getInstance();
SimpleDateFormat formatTemp = new SimpleDateFormat("yyyyMMdd");
// 获取上个月的第一天
calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
timeStrStartLast = formatTemp.format(calendar.getTime());
// 获取上个月的最后一天
calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, 0);
timeStrEndLast = formatTemp.format(calendar.getTime());
year=timeStrStartLast.substring(0,4);
month=timeStrStartLast.substring(4,6);
//上上个月的第一天
calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -2);
calendar.set(Calendar.DAY_OF_MONTH, 1);
timeStrStartBefore=formatTemp.format(calendar.getTime());
//上上个月的最后一天
calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, 0);
timeStrEndBefore=formatTemp.format(calendar.getTime());
yearBefor=timeStrStartBefore.substring(0,4);
monthBefore=timeStrStartBefore.substring(4,6);
本文介绍了如何使用Java的Calendar类处理跨年情况,有效地获取当前日期的上一个月和上上个月。对于定时任务中需要处理日期计算的问题,这种方法能够正确处理包括年份变化在内的各种场景。
4187

被折叠的 条评论
为什么被折叠?



