JavaScript 日期建構函數傳回意外的月份
在JavaScript 中初始化日期物件時,開發人員可能會遇到結果月份與預期不同的情況。這個問題是由 JavaScript 獨特的月份索引系統引起的。
在許多程式語言中,月份都以常規順序表示,從 1 開始表示一月,以 12 結束表示十二月。然而,JavaScript 幾個月來一直採用基於 0 的索引系統。這意味著 JavaScript 中的第一個月是 1 月,表示為 0,而 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中文網其他相關文章!