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

JavaScript getMonth로 얻은 월이 달력보다 하나 작은 이유

월 인덱스 0부터 11까지와 표시용 월을 구분합니다.

01getMonth는 0부터 시작합니다

JavaScript의 getMonth()는 로컬 시간 기준 월을 0부터 11까지 반환합니다. 사람이 읽는 1월부터 12월 숫자가 필요하면 이 차이를 표시 단계에서 처리해야 합니다.

new Date(2026,10,4).getMonth()는 10입니다. 사람이 읽는 11월 표시는 getMonth()+1로 만들지만 new Date의 숫자 생성자에 넣는 monthIndex는 여전히 0부터 시작합니다.

02배열 인덱스에는 그대로 쓸 수 있습니다

월 이름을 담은 배열의 첫 항목이 1월이면 반환값을 그대로 인덱스로 쓰는 방식이 가능합니다. 표시 숫자에 더한 값을 다시 배열 인덱스로 사용하면 다른 월을 읽을 수 있습니다.

03UTC 기준과 섞지 마세요

입력 시각이 경계 근처라면 로컬 월과 UTC 월이 다를 수 있습니다. 어떤 기준의 날짜를 표시하는지 먼저 정하세요. MDN 공식 레퍼런스 확인일은 2026-11-04이며 실제 코드 통합은 이 글의 범위 밖입니다.

Official source (2026-11-04).