-
[Next.js] 비교 연산자로 날짜 비교 안 될 때 [JavaScript]웹 개발/소소한 팁, 버그 해결 2024. 3. 15. 23:08
const d1 = new Date(2000, 2, 1); const d2 = new Date(2010, 4, 27); console.log(d1 > d2) // false console.log(d1 < d2) // true
기본적으로 위 식처럼 비교 연산자를 이용해 단순하게 Date를 비교할 수 있다.
그런데 저 식이 모두 false를 반환할 때가 있는데, 그건 두 Date의 형태가 달라서 발생한다.
나는 DB에 저장된 유효 기간과 현재 시간을 비교해서 해당 요청이 유효한지를 판단하는 코드를 작성해야 했는데,
이때 서버에서 받아 온 expiration 값(Date 형식)과 현재 시간을 반환하는 new Date()의 형태가 달라 앞서 언급한 문제가 발생하였다.
나는 아래와 같이 받아 온 값을 형태를 맞춰 주어 해결했는데, 이 방법 말고도 형태를 통일하는 방법을 쓰면 해결할 수 있을 것 같다.
console.log(new Date(data.expiration) > new Date())
끗~
'웹 개발 > 소소한 팁, 버그 해결' 카테고리의 다른 글
[CSS] 간단한 아이콘 회전 애니메이션 [Tailwind CSS] (0) 2024.03.20 [CSS] icon 회전하기 / <i> 태그 회전하기 [Tailwind CSS] (0) 2024.03.20 [Typescript] TypeError: Webpack imported module is not a function 해결 (0) 2024.03.20 [Next.js 14] 버튼 동시에 눌리는 현상 막기 [stopPropagation][Typescript] (0) 2024.03.20 [Typescript] 제네릭(Generic) 메서드 작성 (0) 2024.03.20