How to calculate Number of 'Working days' between two dates in Javascript using moment.js?

前端 未结 7 2060
我寻月下人不归
我寻月下人不归 2020-12-31 05:21

How to calculate the number of working days between two dates in JavaScript using moment.js. I have a working formula that calculate these days, but the formula does not sat

7条回答
  •  长情又很酷
    2020-12-31 05:58

    By using momentjs, it's possible this way:

    private calculateWorkdays(startDate: Date, endDate: Date): number {
    // + 1 cause diff returns the difference between two moments, in this case the day itself should be included.
    
    const totalDays: number = moment(endDate).diff(moment(startDate), 'days') + 1;
    const dayOfWeek = moment(startDate).isoWeekday();
    let totalWorkdays = 0;
    
    for (let i = dayOfWeek; i < totalDays + dayOfWeek; i++) {
        if (i % 7 !== 6 && i % 7 !== 0) {
          totalWorkdays++;
        }
      }
      return totalWorkdays;
    }
    

提交回复
热议问题