1. 某星期第一天和最后一天的日期:
<span style="font-family:Microsoft YaHei;font-size:18px;">SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar=Calendar.getInstance(Locale.CHINA);
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
params.put("currentMonday", sd.format(calendar.getTime()));
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
params.put("currentSunday", sd.format(calendar.getTime()));</span>
calendar.setFirstDayOfWeek(Calendar.MONDAY); // 设置一周第一天是周一, 默认按欧美的是周日
2. 某月的第一天和最后一天的日期:
<span style="font-family:Microsoft YaHei;font-size:18px;">SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar=Calendar.getInstance(Locale.CHINA);
calendar.set(Calendar.DAY_OF_MONTH, 1);
//System.out.println("本月第一天" + sd.format(calendar.getTime()));
params.put("currentMonthFirstDay", sd.format(calendar.getTime()));
calendar.add(Calendar.MONTH, 1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.add(Calendar.DAY_OF_MONTH, -1);
//System.out.println("本月最后一天" + sd.format(calendar.getTime()));
params.put("currentMonthLastDay", sd.format(calendar.getTime()));</span>
calendar.add(Calendar.MONTH, 1); // 本月月份加1为下一个月
calendar.set(Calendar.DAY_OF_MONTH, 1); // 设置下个月的第一天
calendar.add(Calendar.DAY_OF_MONTH, -1); // 减一天即是本月的最后一天日期
3. 某年的第一天和最后一天日期
<span style="font-family:Microsoft YaHei;font-size:18px;">SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar=Calendar.getInstance(Locale.CHINA);
calendar.set(Calendar.DAY_OF_YEAR,1);
//System.out.println("本年的第一天"+ sd.format(calendar.getTime()));
params.put("currentYearFirstDay", sd.format(calendar.getTime()));
calendar.add(Calendar.YEAR, 1);
calendar.set(Calendar.DAY_OF_YEAR, 1);
calendar.add(Calendar.DAY_OF_YEAR, -1);
//System.out.println("本年的最后一天"+ sd.format(calendar.getTime()));
params.put("currentYearLastDay", sd.format(calendar.getTime()));</span>
和上面第二点月份原理一致, 不再赘述。