How To Add Working Days To A Date In Java

Chapter: Date and Time Last Updated: 22-06-2023 14:15:14 UTC

Program:

            /* ............... START ............... */
                
import java.time.DayOfWeek;
import java.time.LocalDate;

public class WorkingDaysCalculator {
    public static void main(String[] args) {
        LocalDate startDate = LocalDate.of(2023, 6, 22); // Starting date
        int workingDaysToAdd = 5; // Number of working days to add

        LocalDate resultDate = addWorkingDays(startDate, workingDaysToAdd);
        System.out.println("Result: " + resultDate);
    }

    public static LocalDate addWorkingDays(LocalDate startDate, int workingDays) {
        int count = 0;
        while (workingDays > 0) {
            startDate = startDate.plusDays(1);
            if (isWorkingDay(startDate)) {
                workingDays--;
            }
            count++;
        }
        System.out.println("Loop iterations: " + count);
        return startDate;
    }

    public static boolean isWorkingDay(LocalDate date) {
        DayOfWeek dayOfWeek = date.getDayOfWeek();
        return dayOfWeek != DayOfWeek.SATURDAY && dayOfWeek != DayOfWeek.SUNDAY;
    }
}

                /* ............... END ............... */
        

Output

Result: 2023-06-29
Loop iterations: 7

In this example, it adds 5 working days to the starting date of June 22, 2023, resulting in 
the output date of June 29, 2023. The loop iterations indicate that it took 7 iterations to find the 5 
working days, considering weekends as non-working days.

Notes:

  • In the above example, we have a method addWorkingDays that takes a LocalDate object as the starting date and an integer representing the number of working days to add. It iterates over each day, checks if it is a working day using the isWorkingDay method, and decrements the working days count until it reaches 0.
  • The isWorkingDay method checks if the given date is not a Saturday or Sunday, assuming these are non-working days.
  • The result is the LocalDate object after adding the specified number of working days.
  • Please note that this example assumes a simple scenario where weekends (Saturday and Sunday) are considered non-working days. If you have additional holidays or other non-working days to consider, you would need to modify the isWorkingDay method accordingly.

Tags

How to add working days to a date in Java? # Java add days to date excluding weekends and holidays

Similar Programs Chapter Last Updated
Java Program to Calculate Time Difference In Hours Date and Time 20-09-2023
Java Code To Calculate Time Difference In Milliseconds Date and Time 20-09-2023
Java Program To Calculate Time Difference In Seconds Date and Time 20-09-2023
How to calculate time difference between two time zones in Java Date and Time 20-09-2023
Java Date And Time API To Create A Custom Calendar Date and Time 20-09-2023
How To Format Date And Time In Java Date and Time 16-09-2023
How Do You Get The First Day Of The Week In Java Date and Time 15-09-2023
Java Code To Change Date Format Date and Time 15-08-2023
Java Program To Find Day Of The Week For A Given Date Date and Time 10-08-2023
Java code to check if date is weekend Date and Time 29-06-2023
Java program to find number of days between two dates Date and Time 29-06-2023
Java Program To Get The Current Time In Different Time Zones Date and Time 22-06-2023
Java Program To Add A Specified Number Of Days To A Given Date Date and Time 22-06-2023
Write A Program To Check Leap Year In Java Date and Time 22-06-2023
Write A Program To Display Current Date And Time In Java Date and Time 22-06-2023
Java Date Format AM PM Date and Time 14-05-2023
Java Add Months To Date Date and Time 14-05-2023
Add Days To Date In Java example Date and Time 14-05-2023
Java Program To Calculate Days Between Two Dates Date and Time 16-04-2023
Java Program To Add Days To Date Date and Time 16-04-2023
How To Find Difference Between Two Dates In Java Date and Time 01-04-2023
Add Days To Date Java Example Date and Time 08-08-2021
Time Difference Between Two Timestamps In Java Date and Time 22-09-2018

1