티스토리 뷰
개발을 하다 보면 두 개의 날짜/시간을 비교하는 경우가 많이 발생합니다. 오늘이 특정 날짜인지, 아직 지나가지 않았는지 확인할 수도 있고, 날짜들을 비교하여 시간 순서대로 정렬할 수도 있습니다.
이 글에서는 두 날짜/시간의 크기를 비교하는 방법에 대해서 알아보겠습니다.
날짜/시간 비교 - 비교 연산자
비교 연산자(<, >, =, >=, <=)를 사용하여 날짜들을 비교할 수 있습니다. 숫자의 크기를 비교하는 것과 동일한 방법으로, 날짜의 크기를 비교할 수 있습니다. 크기가 작으면 시간이 상대적으로 앞에 있는 것이고, 크면 시간이 상대적으로 뒤에 있는 것입니다. 또한, 크기가 같으면 두 날짜의 시간이 같은 것입니다.
아래 코드는 두 날짜를 비교하는 예제입니다. Date는 날짜 정보만 갖고 있습니다.
const d1 = new Date("2023-10-17");
const d2 = new Date("2023-10-20");
if (d1 < d2) {
console.log("d1은 d2 이전 날짜");
} else if (d1 > d2) {
console.log("d1은 d2 이후 날짜");
} else {
console.log("d1과 d2는 같은 날짜");
}
Output:
d1은 d2 이전 날짜
아래 코드도 두개의 Date 객체를 비교하는데, Date는 날짜와 시간 정보를 함께 갖고 있습니다.
const d1 = new Date("2023-10-17 12:20:30");
const d2 = new Date("2023-10-17 12:20:10");
if (d1 < d2) {
console.log("d1은 d2 이전 날짜");
} else if (d1 > d2) {
console.log("d1은 d2 이후 날짜");
} else {
console.log("d1과 d2는 같은 날짜");
}
Output:
d1은 d2 이후 날짜
날짜/시간 비교 - getTime()
Date.getTime()은 Date가 갖고 있는 날짜/시간을 UTC 시간의 millisecond 단위로 리턴합니다. UTC는 1970년 1월 1일을 0초로 시작하여 현재까지 흐른 시간을 측정하는 방식입니다.
아래와 같이 UTC 시간을 가져와서, 비교 연산자로 시간의 크기를 비교할 수 있습니다.
const d1 = new Date("2023-10-17 12:20:30");
const d2 = new Date("2023-10-17 12:20:10");
d1Utc = d1.getTime();
d2Utc = d2.getTime();
if (d1Utc < d2Utc) {
console.log("d1은 d2 이전 날짜");
} else if (d1 > d2) {
console.log("d1은 d2 이후 날짜");
} else {
console.log("d1과 d2는 같은 날짜");
}
Output:
d1은 d2 이후 날짜
오늘 날짜와 특정 날짜 비교
new Date()는 지금 날짜와 시간 정보를 갖고 있는 객체를 생성합니다. 이렇게 오늘의 Date 객체를 만들 수 있고, 이 객체를 다른 Date 객체와 비교할 수 있습니다.
아래는 오늘과 특정 날짜의 Date 객체를 비교 연산자로 비교하였습니다.
const today = new Date();
const d2 = new Date("2023-10-17 12:20:10");
if (today < d2) {
console.log("오늘은 d2 이전 날짜");
} else if (today > d2) {
console.log("오늘은 d2 이후 날짜");
} else {
console.log("오늘과 d2는 같은 날짜");
}
Output:
오늘은 d2 이후 날짜
'개발 > Javascript' 카테고리의 다른 글
[Javascript] 배열 중복 값 제거 (0) | 2023.11.21 |
---|---|
[Javascript] 숫자 앞/뒤에 0으로 채우기 (0) | 2023.11.16 |
[Javascript] 문자열이 숫자인지 확인 (1) | 2023.11.14 |
[Javascript] 문자열 배열 정렬 (오름차순, 내림차순) (0) | 2023.11.07 |
[Javascript] 숫자 배열 정렬하기 (오름차순, 내림차순) (0) | 2023.11.06 |
- Total
- Today
- Yesterday
- 파이썬
- 15e 트램
- 티스토리챌린지
- 진료 병원 찾기
- adb
- 와일드보어의 땅
- 메이플랜드
- 리스본
- 나무던전
- DART
- Flutter
- 모루정원
- 리스보아 카드
- 포르투갈
- 12e 트램
- 와보땅
- 네키
- javascript
- android
- 파란버섯
- 원숭이의숲
- 포르투
- Python
- 다크스텀프
- 주황버섯
- Skia
- 앞자리 0 제거
- 오블완
- aosp 빌드
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |