Rumah > hujung hadapan web > tutorial js > Mengapa JavaScript's getMonth() Menghasilkan Nilai Bulan Sebelumnya?

Mengapa JavaScript's getMonth() Menghasilkan Nilai Bulan Sebelumnya?

DDD
Lepaskan: 2024-10-19 13:17:01
asal
1098 orang telah melayarinya

Why Does JavaScript's getMonth() Yield the Previous Month's Value?

Mengapa JavaScript's getMonth() Mengembalikan Bulan Sebelumnya?

Apabila menggunakan datepicker yang menyediakan tarikh dalam format "Ahad Jul 7 00:00:00 EDT 2013," anda mungkin perasan bahawa kaedah getMonth() mengembalikan bulan sebelumnya. Sebagai contoh, coretan kod di bawah:

var d1 = new Date("Sun Jul 7 00:00:00 EDT 2013");
d1.getMonth(); //gives 6 instead of 7
Salin selepas log masuk

Sebab:

Punca percanggahan ini terletak pada fakta bahawa kaedah getMonth() JavaScript menetapkan bulan a indeks berasaskan sifar. Oleh itu, Januari diberikan nilai 0, Februari diberikan 1, dan seterusnya. Apabila memanggil getMonth() pada tarikh yang mewakili Julai, ia sebenarnya mengembalikan nilai untuk Jun (6).

Penyelesaian:

Untuk mendapatkan bulan yang betul, anda boleh gunakan kod pelarasan berikut:

d1.getMonth() + 1; //returns the correct month, which is 7 for July
Salin selepas log masuk

Dengan menambah 1 pada hasil getMonth(), anda mengimbangi indeks berasaskan sifar dan memperoleh bulan mengikut konvensyen kalendar.

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

sumber:php
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan