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

JavaScript에서 두 날짜를 비교하는 방법

JavaScript에서 두 날짜를 비교하려면 Date 객체를 두 개 생성한 뒤, 비교 연산자(>, <)를 사용하여 어느 쪽이 더 최근 날짜인지 확인하면 됩니다. JavaScript의 Date 객체는 내부적으로 타임스탬프(밀리초 단위 숫자) 값으로 변환되어 비교되기 때문에, 별도의 복잡한 처리 없이 직접 비교할 수 있습니다.

아래 예제 코드를 직접 실행해 결과를 확인해 보세요.

예제 코드

<!DOCTYPE html>
<html>
   <body>
      <script>
         var date1, date2;
         date1 = new Date();
         document.write(date1);
         date2 = new Date( "Dec 15, 2014 21:20:15" );
         document.write("<br>"+date2);
         if (date1 > date2) {
            document.write("<br>Date1이 더 최근 날짜입니다.");
         } else {
            document.write("<br>Date2가 더 최근 날짜입니다.");
         }
      </script>
   </body>
</html>

실행 결과

Sat Dec 15 2018 11:08:06 GMT+0530 (India Standard Time)
Mon Dec 15 2014 21:20:15 GMT+0530 (India Standard Time)
Date1이 더 최근 날짜입니다.

코드 설명

new Date()는 인자 없이 호출하면 현재 시각 기준의 날짜 객체를 생성합니다. 반면 new Date("Dec 15, 2014 21:20:15")처럼 문자열을 전달하면 해당 특정 시점의 날짜 객체가 만들어집니다.

이후 if (date1 > date2) 조건문으로 두 객체를 비교하면, 각 날짜가 나타내는 시간값(타임스탬프)을 기준으로 크고 작음이 판단됩니다. 이 예제에서는 date1이 현재 시각이므로 과거 날짜인 date2보다 큰 값이 되어 "Date1이 더 최근 날짜입니다."라는 메시지가 출력됩니다.

같은 원리로 <, >=, <= 연산자도 사용할 수 있으며, 두 날짜가 동일한지 확인하려면 date1.getTime() === date2.getTime()처럼 getTime() 메서드를 활용하는 것이 안전합니다.