날의 사이THE DAYS BETWEEN
날의 사이 / 달력 읽는 법

JavaScript Invalid time value 오류가 날짜 출력에서 생길 때

ISO 변환 전에 유효하지 않은 Date를 확인합니다.

01출력 직전보다 입력 파싱을 확인하세요

유효하지 않은 Date에 toISOString()을 호출하면 RangeError가 발생할 수 있습니다. 출력 코드만 바꾸기보다 처음 어떤 문자열이나 범위 밖 숫자로 Date가 만들어졌는지 추적하세요.

02유효성 검사를 별도로 하세요

날짜 객체가 있다는 사실만으로 정상 날짜가 되는 것은 아닙니다. getTime() 결과가 NaN인지 확인하고 잘못된 입력은 사용자에게 정정할 수 있게 다룹니다.

예를 들어 Number.isNaN(d.getTime())가 true이면 ISO 출력 전에 오류로 처리합니다. const d = new Date("not-a-date")의 객체 자체는 존재하지만 이 검사는 true입니다.

03임의의 현재 날짜로 덮지 마세요

파싱 실패를 오늘 날짜로 치환하면 틀린 기록이 정상처럼 저장될 수 있습니다. 원본을 보존하고 오류 상태와 정상 값을 구분하세요. MDN 공식 오류 설명 확인일은 2026-11-04입니다.

Official source (2026-11-04).