如何计算除周末java之外的两个日期之间的天数

Ham*_*TFS 4 java date

嗨,我尝试这段代码有几天的工作(包括周末),所以我怎么能在两个日期之间排除周末?

public long getDifferenceDays(Date d1, Date d2) {
  long diff = d2.getTime() - d1.getTime();
  long diffDays = diff / (24 * 60 * 60 * 1000);
  return diffDays;
}
Run Code Online (Sandbox Code Playgroud)

Ruc*_*era 11

这对你有用

DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
    Date date1 = df.parse("10/08/2013");
    Date date2 = df.parse("21/08/2013");
    Calendar cal1 = Calendar.getInstance();
    Calendar cal2 = Calendar.getInstance();
    cal1.setTime(date1);
    cal2.setTime(date2);

    int numberOfDays = 0;
    while (cal1.before(cal2)) {
        if ((Calendar.SATURDAY != cal1.get(Calendar.DAY_OF_WEEK))
           &&(Calendar.SUNDAY != cal1.get(Calendar.DAY_OF_WEEK))) {
            numberOfDays++;
        }
        cal1.add(Calendar.DATE,1);
    }
    System.out.println(numberOfDays);
Run Code Online (Sandbox Code Playgroud)

现场演示

出局

7
Run Code Online (Sandbox Code Playgroud)