可能重複:
Zero-based month numbering爲什麼在轉換爲日期對象時在JavaScript中從月份中減去1?
在這本書我讀的解釋說,「好吧,我的阿姨開始從1跟大家一樣數着幾個月,所以我們減去1。
這裏的輸入字符串日期:"died 27/04/2006: Black Leclère"
下面的代碼:
function extractDate(paragraph) {
function numberAt(start, length) {
return Number(paragraph.slice(start, start + length));
}
return new Date(numberAt(11, 4), numberAt(8, 2) - 1,
numberAt(5, 2));
}
alert(extractDate("died 27-04-2006: Black Leclère"));
04 - 1是03.但是這是輸出日期對象:Thu Apr 27 2006 00:00:00
。
瞭解我們對輸出的要求並不能解釋語言的異常行爲以及-1的後續必要性。請解釋。
阿姨從一個計數,但Uncle JavaScript從0開始計數。請參閱:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date – Yoshi
@Yoshi爲什麼它從0開始計算月數但是年數從1開始? –
@Fohsap:它只是。 –