哈喽,大家好呀,好久不见!今天是一篇浅记。根据传入日期自动获取所在周一和周日…
正常基操方法,根据传入日期自动获取所在周一和周日。注意传入日期是周日的情况哈,需要往前推7天才是周一。
楼主方法中已处理,可贴出来直接使用。
/**
* 获取日期所在周一和周日
*
* @param date
* @return
*/
private static Map<String, String> getMondayAndSunday(Date date) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Map<String, String> result = new HashMap<>();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
// 获取星期几的值(1表示星期日,2表示星期一,以此类推)
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
// 计算周一的日期
calendar.add(Calendar.DAY_OF_WEEK, Calendar.MONDAY - dayOfWeek);
result.put("Monday", dateFormat.format(calendar.getTime()));
if (dayOfWeek == Calendar.SUNDAY) {
// 如果传入日期是周日,则取周一到该日期的时间范围
calendar.add(Calendar.DAY_OF_WEEK, -7);
result.put("Sunday", dateFormat.format(date));
result.put("Monday", dateFormat.format(calendar.getTime()));
} else {
// 计算下一周的周日的日期
calendar.add(Calendar.DAY_OF_WEEK, Calendar.SUNDAY - Calendar.MONDAY + 7);
result.put("Sunday", dateFormat.format(calendar.getTime()));
}
return result;
}