>웹 프론트엔드 >JS 튜토리얼 >JavaScript 날짜 생성자가 예상치 못한 달을 반환하는 이유는 무엇입니까?

JavaScript 날짜 생성자가 예상치 못한 달을 반환하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-30 06:55:02933검색

Why Does the JavaScript Date Constructor Return an Unexpected Month?

JavaScript 날짜 생성자가 예기치 않은 월을 반환함

JavaScript에서 날짜 객체를 초기화할 때 개발자는 결과 월이 자신의 날짜와 다른 경우를 접할 수 있습니다. . 이 문제는 JavaScript의 고유한 월 인덱싱 시스템에서 발생합니다.

많은 프로그래밍 언어에서 월은 1월이 1로 시작하고 12월이 12로 끝나는 일반적인 순서로 표시됩니다. 그러나 JavaScript는 몇 달 동안 0 기반 인덱싱 시스템을 채택합니다. 즉, JavaScript의 첫 번째 달은 0으로 표시되는 1월이고 12월은 11번째 달입니다.

다음 코드 조각을 고려하세요.

<code class="javascript">var myDate = new Date(2012, 9, 23, 0, 0, 0, 0);</code>

여기서 의도는 2012년 9월 23일에 대한 날짜 객체입니다. 그러나 생성자가 반환한 결과 날짜는 2012년 10월 23일입니다. 이 예상치 못한 결과는 JavaScript가 9번째 달(인덱스 9)을 10월과 일치하는 10번째 달로 해석한다는 사실에서 비롯됩니다. .

이 문제를 해결하려면 개발자는 그에 따라 월 인덱스를 조정해야 합니다. 예를 들어, 2012년 9월 23일을 나타내는 JavaScript 날짜 개체를 생성하려면 다음을 사용해야 합니다.

<code class="javascript">var myDate = new Date(2012, 8, 23, 0, 0, 0, 0);</code>

이렇게 수정하면 날짜 개체에 올바른 월이 할당됩니다.

위 내용은 JavaScript 날짜 생성자가 예상치 못한 달을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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