Java获取前N天的日期(Calendar类),前N天与当前日期的差值并去除周末(双休日)
@Test
public void test(){
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
System.out.println(calendar.getTime());//当前日期
calendar.add(Calendar.DAY_OF_YEAR,-4);//如果是查未来几天,去除"-"
System.out.println(calendar.getTime());//4天前日期
int difference=differentDays(calendar.getTime(),new Date());
System.out.println(difference);//去除周末后的差值
}
/*
*工具:去除周末工具
*beforeDate 开始日期
*currentDate 结束日期
*/
public static int differentDays(Date beforeDate, Date currentDate) {
Calendar cl1 = Calendar.getInstance();
Calendar cl2 = Calendar.getInstance();
cl1.setTime(beforeDate);
cl2.setTime(currentDate);
int count = 0;
while (cl1.compareTo(cl2) <= 0) {
if (cl1.get(Calendar.DAY_OF_WEEK) != 7 && cl1.get(Calendar.DAY_OF_WEEK) != 1)
count++;
cl1.add(Calendar.DAY_OF_MONTH, 1);
}
return count;
}
result:


该博客演示了如何使用Java的Calendar类获取当前日期前N天的日期,并计算两个日期间的工作日差值,自动排除周末。提供的代码示例展示了如何实现这个功能。
2623

被折叠的 条评论
为什么被折叠?



