Finding due date value from current date based on the number of days

REQUIREMENT

Need to set the due date of a task record based on the current date and number of days required for the completion. The due date must not be weekend days and should consider only weekdays.

SOLUTION

Following is a code snippet for calculating the due date excluding the weekend days.

 settingDueDateValue(days) {

        try {

          let currentDate = new Date();

          let dueDate = new Date(currentDate.setDate(currentDate.getDate() + days));

          let today = new Date();

          let count = 0

          let todayDay = moment.utc(today).utcOffset(720).format(“ddd”)

          while (today <= dueDate) {

            let todayDay = moment.utc(today).utcOffset(720).format(“ddd”)

            if (todayDay == ‘Sun’ || todayDay == ‘Sat’) {

              count++; // Increment count for Saturday or Sunday

            }

            

            today = new Date(today.setDate(today.getDate() + 1))

          }

          dueDate = new Date(dueDate.setDate(dueDate.getDate() + count));

          let dueDateDay = moment.utc(dueDate).utcOffset(720).format(“ddd”)

          if (dueDateDay == ‘Sun’) {

            dueDate = new Date(dueDate.setDate(dueDate.getDate() + 1));

          }

          else if (dueDateDay == ‘Sat’) {

            dueDate = new Date(dueDate.setDate(dueDate.getDate() + 2));

          }

          return dueDate

        }

        catch (err) {

          log.error(“error@settingDueDateValue”, err)

        }

      }

Leave a comment

Your email address will not be published. Required fields are marked *