Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 두 날짜 사이의 일 수 차이 계산하는 방법

JavaScript에서 두 날짜 사이의 일 수를 구하려면 getTime() 메서드를 활용하면 됩니다. getTime()은 날짜를 밀리초 단위의 타임스탬프 값으로 반환하기 때문에, 두 날짜의 타임스탬프 차이를 계산한 뒤 하루에 해당하는 밀리초 값으로 나누면 일 수 차이를 손쉽게 얻을 수 있습니다.

계산 원리

1초는 1000밀리초이고, 1시간은 3600초, 하루는 24시간이므로 하루 = 1000 × 3600 × 24 밀리초입니다. 따라서 두 날짜의 시간 차이를 이 값으로 나누면 일 단위의 차이가 계산됩니다.

예제 코드

아래 예제 코드를 실행하면 두 날짜 사이의 일 수 차이를 확인할 수 있습니다.

<!DOCTYPE html>
<html>
   <body>
      <script>
         var dateFirst = new Date("10/29/2017");
         var dateSecond = new Date("10/18/2017");

         // 시간 차이 계산 (밀리초 단위)
         var timeDiff = Math.abs(dateSecond.getTime() - dateFirst.getTime());

         // 일 수 차이 계산
         var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));

         // 결과 출력
         alert(diffDays);
      </script>
   </body>
</html>

코드 설명

  • Date 객체 생성: new Date()를 사용해 비교할 두 날짜 객체를 만듭니다.
  • getTime()으로 변환: 각 날짜를 밀리초 단위 숫자 값으로 변환합니다.
  • Math.abs() 사용: 날짜 순서와 관계없이 항상 양수인 차이 값을 얻기 위해 절댓값을 적용합니다.
  • Math.ceil() 사용: 나눗셈 결과에서 소수점이 발생할 경우 올림 처리하여 정확한 일 수를 보장합니다.

위 예제에서 2017년 10월 29일과 2017년 10월 18일의 차이를 계산하면 결과값으로 11이 표시됩니다.