Rumah  >  Artikel  >  hujung hadapan web  >  Mengapa Pembina Tarikh JavaScript Mengembalikan Bulan yang Tidak Dijangka?

Mengapa Pembina Tarikh JavaScript Mengembalikan Bulan yang Tidak Dijangka?

Linda Hamilton
Linda Hamiltonasal
2024-10-30 06:55:02873semak imbas

Why Does the JavaScript Date Constructor Return an Unexpected Month?

JavaScript Tarikh Pembina Mengembalikan Bulan Tidak Dijangka

Apabila memulakan objek tarikh dalam JavaScript, pembangun mungkin menghadapi keadaan di mana bulan yang terhasil berbeza daripada 预期 mereka . Isu ini timbul daripada sistem pengindeksan bulan unik JavaScript.

Dalam banyak bahasa pengaturcaraan, bulan diwakili oleh pesanan konvensional mereka, bermula dengan 1 untuk Januari dan berakhir dengan 12 untuk Disember. Walau bagaimanapun, JavaScript menggunakan sistem pengindeksan berasaskan 0 selama berbulan-bulan. Ini bermakna bulan pertama dalam JavaScript ialah Januari, diwakili sebagai 0, manakala Disember ialah bulan ke-11.

Pertimbangkan coretan kod berikut:

<code class="javascript">var myDate = new Date(2012, 9, 23, 0, 0, 0, 0);</code>

Di sini, niatnya adalah untuk mencipta objek tarikh untuk 23 September 2012. Walau bagaimanapun, tarikh yang terhasil dikembalikan oleh pembina ialah 23 Oktober 2012. Keputusan yang tidak dijangka ini berpunca daripada fakta bahawa JavaScript mentafsirkan bulan ke-9 (indeks 9) sebagai bulan ke-10, yang sejajar dengan Oktober .

Untuk membetulkan isu ini, pembangun mesti melaraskan indeks bulan mereka dengan sewajarnya. Sebagai contoh, untuk mencipta objek tarikh JavaScript yang mewakili 23 September 2012, mereka harus menggunakan:

<code class="javascript">var myDate = new Date(2012, 8, 23, 0, 0, 0, 0);</code>

Pengubahsuaian ini memastikan bahawa bulan yang betul diberikan kepada objek tarikh.

Atas ialah kandungan terperinci Mengapa Pembina Tarikh JavaScript Mengembalikan Bulan yang Tidak Dijangka?. 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