티스토리 뷰

반응형
SMALL

Javascript 언어로 날짜의 차이를 계산하는 방법을 정리해보고자 한다.

일반적으로 두 날짜 사이의 총 날짜 수를 구하는 방법은 간단하게 두 날짜를 빼면 구할 수 있다. 아래처럼 말이다.


<script type="text/javascript"> var date1 = new Date(2017, 10, 30); // 2017-11-30 var date2 = new Date(2017, 11, 6); // 2017-12-6

// 두 날짜를 제외한 날짜수 console.log(((date2.getTime() - date1.getTime()) / 1000 / 24 / 60 / 60) + 1);


// 두 날짜를 포함한 날짜수 console.log(((date2.getTime() - date1.getTime()) / 1000 / 24 / 60 / 60) + 1); </script>


출력 결과는 아래와 같다.

5
7



때로는 주말을 제외한 평일의 날짜만 구하고싶을 때가 있다. 이 때에는 요일 index를 구하여 날짜가 토요일인지 일요일인지 체크한 후 count 여부를 결정하여 날짜를 세는 방법을 택할 수 있다.


간단하게 Loop를 통해 시작날짜부터 종료날짜까지 1일씩 더하면서 주말의 경우 count를 하지 않고 평일의 경우에만 count를 하도록 하는 코드를 Javascript로 작성해보았다.


아래 코드는 2017년 11월 30일과 2017년 12월 6일 사이의 주말을 제외한 날짜 수를 출력하는 코드이다.


<script type="text/javascript"> function calcDate() {     var date1 = new Date(2017, 10, 30); // 2017-11-30     var date2 = new Date(2017, 11, 6); // 2017-12-6     var count = 0;     

while(true) {

var temp_date = date1;     if(temp_date.getTime() > date2.getTime()) {     console.log("count : " + count);      break;   } else {     var tmp = temp_date.getDay();      if(tmp == 0 || tmp == 6) {         // 주말        console.log("주말");     } else {      // 평일      console.log("평일");      count++;      }     temp_date.setDate(date1.getDate() + 1);   } }

} </script>


출력 결과는 아래와 같다.

평일
평일
주말
주말
평일
평일
평일
count : 5


이상으로 간단하게 날짜 차이를 구하는 방법에 대해 정리해보았다.

코드를 계속 다듬으면서 실제 서비스에 다양하게 적용해보도록 하면 좋을 것 같다.


반응형
LIST

'Frontend > Javascript' 카테고리의 다른 글

ANSI 형식의 csv파일 불러오기  (0) 2017.12.02
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함