Rumah  >  Artikel  >  hujung hadapan web  >  Mengapa JavaScript's getMonth() Mengembalikan Bulan Sebelumnya untuk Tarikh dalam Beberapa Bulan?

Mengapa JavaScript's getMonth() Mengembalikan Bulan Sebelumnya untuk Tarikh dalam Beberapa Bulan?

Susan Sarandon
Susan Sarandonasal
2024-10-19 13:18:29118semak imbas

Why Does JavaScript's getMonth() Return the Previous Month for Dates in Some Months?

JavaScript's getMonth() Mengembalikan Bulan Sebelumnya: A Anomali Datepicker

Menghadapi percanggahan dalam pengekstrakan tarikh daripada datepicker boleh membingungkan. Khususnya, kaedah getMonth() mungkin menghasilkan bulan sebelumnya dan bukannya yang dijangkakan. Untuk menggambarkan isu ini:

<code class="javascript">var d1 = new Date("Sun Jul 7 00:00:00 EDT 2013");
console.log(d1.getMonth()); // Output: 6 (June)</code>

Menyingkap Sebab

Puncanya terletak pada kaedah getMonth() JavaScript, yang menganggap Januari sebagai bulan 0 dan Disember sebagai bulan 11. Akibatnya, jika anda memperoleh objek Date untuk tarikh pada bulan Julai, kaedah getMonth() akan mengembalikan 6, menunjukkan Jun.

Membetulkan Anomali

Untuk menyelesaikan isu ini dan mendapatkan nombor bulan sebenar yang sepadan dengan tarikh yang diberikan, cuma naikkan hasil getMonth() sebanyak 1.

<code class="javascript">console.log(d1.getMonth() + 1); // Output: 7 (July)</code>

Dengan menambah 1 pada nombor bulan yang diperoleh daripada getMonth(), anda boleh menangkap bulan yang dimaksudkan dengan tepat.

Atas ialah kandungan terperinci Mengapa JavaScript's getMonth() Mengembalikan Bulan Sebelumnya untuk Tarikh dalam Beberapa Bulan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn