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);
}
该代码片段展示了如何使用JAVA的Calendar类计算两个日期之间的自然周数。方法包括设置星期一为一周的第一天,获取日期在当年的周数,然后相减得到周差值。示例中从2023-06-09到2023-06-12涉及的自然周数被打印出来。
569





