JavaScript 的getMonth() 返回上個月:日期選擇器異常
從日期選擇器中提取日期時遇到差異可能會令人費解。特別是, getMonth() 方法可能會產生上個月而不是預期的月份。為了說明這個問題:
<code class="javascript">var d1 = new Date("Sun Jul 7 00:00:00 EDT 2013"); console.log(d1.getMonth()); // Output: 6 (June)</code>
揭秘原因
根本原因在於JavaScript 的getMonth() 方法,該方法將1 月視為月份0,將12月視為月份11. 因此,如果您取得7 月某個日期的Date 對象,則getMonth() 方法將傳回6,表示6 月。
修正異常
要解決此問題並取得給定日期對應的實際月份數,只需將 getMonth() 的結果加 1。
<code class="javascript">console.log(d1.getMonth() + 1); // Output: 7 (July)</code>
將 getMonth() 取得的月份數加 1,您可以精確捕捉預期月份。
以上是為什麼 JavaScript 的 getMonth() 會傳回某些月份中的日期的上個月?的詳細內容。更多資訊請關注PHP中文網其他相關文章!