Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to calculate number of days between two dates excluding weekend java [duplicate]

Tags:

java

date

Hi, i try this code to have days of works (including weekends) , so how can i exlude weekends between two dates ?

public long getDifferenceDays(Date d1, Date d2) {
  long diff = d2.getTime() - d1.getTime();
  long diffDays = diff / (24 * 60 * 60 * 1000);
  return diffDays;
}
like image 807
HamzaNTFS Avatar asked Aug 21 '13 10:08

HamzaNTFS


1 Answers

This will work for you

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);

Live Demo

Out put

7
like image 128
Ruchira Gayan Ranaweera Avatar answered Nov 03 '22 01:11

Ruchira Gayan Ranaweera