>  기사  >  웹 프론트엔드  >  JavaScript의 getMonth()가 왜 이전 달의 값을 산출합니까?

JavaScript의 getMonth()가 왜 이전 달의 값을 산출합니까?

DDD
DDD원래의
2024-10-19 13:17:01991검색

Why Does JavaScript's getMonth() Yield the Previous Month's Value?

JavaScript의 getMonth()가 이전 달을 반환하는 이유는 무엇입니까?

"Sun Jul 7 형식으로 날짜를 제공하는 날짜 선택기를 사용하는 경우 00:00:00 EDT 2013", getMonth() 메서드가 이전 달을 반환하는 것을 볼 수 있습니다. 예를 들어, 아래 코드 조각은 다음과 같습니다.

var d1 = new Date("Sun Jul 7 00:00:00 EDT 2013");
d1.getMonth(); //gives 6 instead of 7

이유:

이러한 불일치의 이유는 JavaScript의 getMonth() 메소드가 월을 할당한다는 사실에 있습니다. 0 기반 인덱스. 따라서 1월에는 0 값이 할당되고 2월에는 1이 할당되는 식입니다. 7월을 나타내는 날짜에 getMonth()를 호출하면 실제로 6월(6)의 값이 반환됩니다.

해결책:

올바른 월을 얻으려면 다음을 수행하세요. 다음 조정 코드를 사용하세요.

d1.getMonth() + 1; //returns the correct month, which is 7 for July

getMonth()의 결과에 1을 추가하면 0부터 시작하는 인덱스를 오프셋하고 달력 규칙에 따라 월을 얻을 수 있습니다.

위 내용은 JavaScript의 getMonth()가 왜 이전 달의 값을 산출합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.