Java获取两个日期之间的所有日期,并查出是周几
直接上代码/*** description 拆分日期** @param startDate 开始日期* @param endDate 结束日期* @author yanzy* @version 1.0* @date 2021/6/3 13:36*/private static Map dateSplit(String startDate, String endDate) throws Exce
·
直接上代码
/**
* description 拆分日期
*
* @param startDate 开始日期
* @param endDate 结束日期
* @author yanzy
* @version 1.0
* @date 2021/6/3 13:36
*/
private static Map dateSplit(String startDate, String endDate) throws Exception {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
List<Date> dateList = new ArrayList();
Date start = simpleDateFormat.parse(startDate);
Date end = simpleDateFormat.parse(endDate);
Long spi = end.getTime() - start.getTime();
Long step = spi / (24 * 60 * 60 * 1000);// 相隔天数
dateList.add(start);
for (int i = 1; i <= step; i++) {
// 比上一天加1
dateList.add(new Date(dateList.get(i - 1).getTime() + (24 * 60 * 60 * 1000)));
}
Map<String, String> dateMap = new LinkedHashMap<>();
for (Date date : dateList) {
String day = simpleDateFormat.format(date);
dateMap.put(day, weekMap.get(LocalDate.parse(day).getDayOfWeek().toString()));
}
return dateMap;
}
private static Map<String, String> weekMap = new HashMap<String, String>() {
{
put("MONDAY", "周一");
put("TUESDAY", "周二");
put("WEDNESDAY", "周三");
put("THURSDAY", "周四");
put("FRIDAY", "周五");
put("SATURDAY", "周六");
put("SUNDAY", "周日");
}
};
来测试下6月3号到6月10号之间的日期:
System.out.println(dateSplit("2021-06-03", "2021-06-10"));
{
2021-06-03 = 周四
2021-06-04 = 周五
2021-06-05 = 周六
2021-06-06 = 周日
2021-06-07 = 周一
2021-06-08 = 周二
2021-06-09 = 周三
2021-06-10 = 周四
}
更多推荐
已为社区贡献1条内容
所有评论(0)