Javascript가 왜 일과 월을 다르게 취급합니까?


42

JavaScript에서을 만들 때 Date월은 0을 기준으로하고 일은 그렇지 않습니다.

예를 들면 다음과 같습니다.

var foo = new Date(2012, 1, 1)

2012 년 2 월 1 일 생산

왜 이런거야?


6
months = ['Jan', 'Feb',..., 'Nov', 'Dec']; month = months[date.getMonth()];
zzzzBov

답변:


50

대부분의 아이디어는 월이 월 이름 배열의 색인으로 간주되는 반면 일은 단순히 "계산"된다는 것입니다.


21
이것이 대답의 관점에서 의미가있는 곳 에서이 논리가 지금까지 얼마나 오랫동안 사용되어 왔으며 이전에 질문하지 않았는지 생각하는 것은 미친 듯이 미친 일입니다.
rlemon

2
@rlemon 당신이 전에 그 논리에 의문을 제기 한 적이 없다는 사실은 그것이 의미가 있음을 증명할뿐입니다 :)
dasblinkenlight

14
FWIW, 나는 그것이 의미가 있다고 생각 하지 않았다 . JavaScript로 날짜를 처리하는 것은 항상 혼란 스러웠습니다. 이상한 결과를 디버깅하기 시작할 때까지 일반적으로 이와 같은 것을 잊었 기 때문입니다.
FrustratedWithFormsDesigner

2
FWIW, 내가 프런트 엔드 개발자 아니다 종종 가끔 제외하고 자바 스크립트에서 날짜를 처리 할 필요가 없습니다new Date().getTime()
rlemon

20
Javascript에 관해서는 "이것이 그들이 한 이유"와 "이것이 합리적입니다"는 거의 듣지 않는 두 가지입니다.
Tridus

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.