[Javascript] 두 날짜 비교 방법
March 27, 2024
오늘 날짜, 또는 특정 날짜를 비교하여 어떤 날짜가 시간상 앞에 있는지 확인하는 방법을 알아보겠습니다.
1. 비교연산자를 이용한 방법
비교 연산자(>, <, ==, >=, <=)로 두 날짜를 비교할 수 있습니다.
- 크기가 작다는 것은 시간상 과거라는 의미
- 크기가 크다는 것은 시간상 미래라는 의미
- 크기가 같으면 같은 날짜
const date1 = new Date("2023-09-17");
const date2 = new Date("2023-09-25");
if (date1 < date2) {
console.log("date1은 date2보다 이전입니다.");
} else if (date1 > date2) {
console.log("date1은 date2보다 이후입니다.");
} else {
console.log("date1과 date2는 같은 날짜입니다.");
}
Output:
date1은 date2보다 이전입니다.
2. getTime()을 이용한 방법
Date.getTime()은 날짜에 대한 timestamp 값을 리턴합니다. timestamp는 UTC 시간(1970년 1월 1일에서 현재까지 흐른 시간)을 millisecond로 표현한 것 입니다.
아래와 같이 timestamp를 출력하면 정수로 출력되며, 비교 연산자로 정수를 비교하면 됩니다. 정수의 크기가 큰 것이 시간상 미래가 됩니다.
//timestamp로 변환
const date1 = new Date("2023-09-17").getTime();
const date2 = new Date("2023-09-25").getTime();
// 출력
console.log("date1: " + date1);
console.log("date2: " + date2);
// 비교
if (date1 < date2) {
console.log("date1은 date2보다 이전입니다.");
} else if (date1 > date2) {
console.log("date1은 date2보다 이후입니다.");
} else {
console.log("date1과 date2는 같은 날짜입니다.");
}
Output:
date1: 1694908800000
date2: 1695600000000
date1은 date2보다 이전입니다.
3. 시간 비교
Date
는 날짜 정보와 시간 정보를 함께 갖고 있습니다. 따라서, 날짜를 비교하는 방법과 동일하게 시간도 비교할 수 있습니다.
아래 예제는 getTime()으로 비교하는 예제이며, Date 객체를 비교 연산자로 비교할 수도 있습니다.
const date1 = new Date("2023-09-25 12:20:30").getTime();
const date2 = new Date("2023-09-25 12:20:40").getTime();
if (date1 < date2) {
console.log("date1은 date2보다 이전입니다.");
} else if (date1 > date2) {
console.log("date1은 date2보다 이후입니다.");
} else {
console.log("date1과 date2는 같은 날짜입니다.");
}
Output:
date1은 date2보다 이전입니다.
4. 오늘 날짜와 특정 날짜 비교
new Date()
로 객체를 생성하면, 오늘 날짜 정보를 갖고 있는 Date 객체가 생성됩니다. 이 Date를 다른 시간을 갖고 있는 Date와 비교할 수 있습니다.
두 날짜와 시간을 비교하는 방법은 위에서 소개한 방법과 동일합니다.
const today = new Date();
const date = new Date("2023-09-25");
if (today < date) {
console.log("date1은 date2보다 이전입니다.");
} else if (today > date) {
console.log("date1은 date2보다 이후입니다.");
} else {
console.log("date1과 date2는 같은 날짜입니다.");
}
Output:
date1은 date2보다 이후입니다.