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!