JAVA计算两个日期之间的自然周数,相对比较简洁的方法:
(此种方法不包含跨年,跨年增加一些判断就可以,这里就不详细写了)
//获取到所传日期在当年第几周
public static int getWeekInYear(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.setTime(date);
return calendar.get(Calendar.WEEK_OF_YEAR);
}
public static void main(String[] args) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date start = sdf.parse("2023-06-09");
Date end = sdf.parse("2023-06-12");
int week = getWeekInYear(end) - getWeekInYear(start) + 1;
System.out.println("两个日期涉及自然周数 = " + week);
}