My Life/2016년

[긁어다 쓰는 소스] 자바스크립트(Javascript) workingday 구하기

우라질레이터 2016. 3. 22. 14:06

자바스크립트(Javascript)로 workingday 구하는 단순 로직(함수)이지만,

생각해서 작성하려면 단 1분이라도 아까울 때가 있습니다.

아래 소스를 긁어다 쓰세요.


(1) start_date와 end_date의 포맷은 date 변환 가능 포맷이어야 합니다.

(2) start_date와 end_date가 같은 날짜이면 workkingday는 1을 리턴합니다. 


--------------------------------------------------------------------------------------


function (start_date, end_date) {

        var fromDate = new Date(start_date);

        var toDate = new Date(end_date);

        

        var workingdays = 0;

        var weekday     = new Array(7);

        weekday[0]="Sunday";

        weekday[1]="Monday";

        weekday[2]="Tuesday";

        weekday[3]="Wednesday";

        weekday[4]="Thursday";

        weekday[5]="Friday";

        weekday[6]="Saturday";


        while (fromDate <= toDate)

        {

            // 소스를 간단하게 하려면, fromDate.getDay()의 값으로 0 또는 6인 경우로 사용하세요. 

            var day = weekday[fromDate.getDay()];

            if(day != "Saturday" && day != "Sunday")

            {

                workingdays++;

            }

            fromDate = new Date(fromDate.getTime() + (60*60*24*1000));

        }

        // start_date와 end_date가 같은 날짜일때 0을 리턴하려면 아래 주석 해제하세요.

        //workingdays = (workingdays - 1) <= 0 ? 0: workingdays-1;

        return workingdays ;

    }

}


--------------------------------------------------------------------------------------