본문으로 건너뛰기

JavaScript Date, 날짜, 시간 비교 방법

자바스크립트에서 날짜, 시간(Date)의 크기를 비교하는 방법을 예제와 함께 소개합니다.

1. Date 객체 생성

아래와 같이 다양한 방법으로 Date 객체를 생성할 수 있습니다.

// 현재 시간으로 Date 객체 생성
const date1 = new Date();
console.log(date1); // 2023-03-04T07:18:12.392Z

// 문자열로 Date 객체 생성
const date2 = new Date('2022-05-04');
console.log(date2); // Wed May 04 2022 09:00:00 GMT+0900 (Korean Standard Time)

// 숫자로 Date 객체 생성
const date3 = new Date(2022, 4, 4, 10, 30, 0); // 2022년 5월 4일 오전 10시 30분 0초
console.log(date3); // Wed May 04 2022 10:30:00 GMT+0900 (Korean Standard Time)

2. 비교 연산자 (>, >=, <, <=, ===)

아래와 같이 비교 연산자를 이용하여 두개의 Date 객체의 크기를 비교할 수 있습니다.

  • 두 객체 비교 결과, 크다는 시간 상 앞에(미래) 있다는 의미
  • 두 객체 비교 결과, 작다는 시간 상 뒤에(과거) 있다는 의미
const date1 = new Date('2023-03-02');
const date2 = new Date('2023-03-03');

console.log(date1.getTime() > date2.getTime()); // false
console.log(date1.getTime() >= date2.getTime()); // false
console.log(date1.getTime() < date2.getTime()); // true
console.log(date1.getTime() <= date2.getTime()); // true

두 Date 객체가 같은지(날짜, 시간이 같은지) 확인할 때는 === 연산자를 이용하여 비교하면 됩니다.

const date1 = new Date('2022-05-04');
const date2 = new Date('2022-05-04');

if (date1.getTime() === date2.getTime()) {
console.log('같은 날짜, 시간');
} else {
console.log('다른 날짜, 시간');
}

3. 년(Year), 월(Month), 일(Day) 만 비교

Date 객체의 getFullYear(), getMonth(), getDate() 메서드를 사용하여 년, 월, 일 값만 비교할 수 있습니다.

const date1 = new Date('2022-05-01');
const date2 = new Date('2022-05-01');

if (date1.getFullYear() === date2.getFullYear() &&
date1.getMonth() === date2.getMonth() &&
date1.getDate() === date2.getDate()) {
console.log('년, 월, 일이 같음');
} else {
console.log('년, 월, 일이 같지 않음');
}