Rumah >hujung hadapan web >tutorial js >Mengapa Objek `Tarikh` JavaScript Saya Menunjukkan Bulan yang Salah?

Mengapa Objek `Tarikh` JavaScript Saya Menunjukkan Bulan yang Salah?

Patricia Arquette
Patricia Arquetteasal
2024-11-25 20:59:11145semak imbas

Why Does My JavaScript `Date` Object Show the Wrong Month?

Memahami Percanggahan Penciptaan Tarikh JavaScript

Apabila bekerja dengan objek Tarikh JavaScript, adalah penting untuk mengetahui sedikit perbezaan dalam cara bulan diwakili berbanding kebanyakan bahasa pengaturcaraan lain.

Pertimbangkan JavaScript berikut kod:

var myDate = new Date(2012, 9, 23, 0, 0, 0, 0);
console.log(myDate);

Dalam kod ini, kami cuba mencipta objek Date yang mewakili 23 Oktober 2012. Walau bagaimanapun, apabila kami log objek myDate yang terhasil, kami dapati hasil yang tidak dijangka:

Date {Tue Oct 23 2012 00:00:00 GMT-0400 (Eastern Daylight Time)}

Daripada bulan Oktober, tarikhnya dilaporkan sebagai September. Mengapakah JavaScript mencipta tarikh dengan bulan yang salah?

Jawapannya terletak pada cara JavaScript mewakili bulan dalam objek Tarikh. Tidak seperti kebanyakan bahasa lain, JavaScript mula mengira bulan dari 0, dengan 0 mewakili Januari dan 11 mewakili Disember.

Oleh itu, dalam kod di atas:

  • tahun ialah 2012
  • bulan ialah 9 (September)
  • hari ialah 23

Akibatnya, JavaScript mentafsir parameter yang diberikan sebagai 23 September 2012, itulah sebabnya tarikh log menunjukkan 23 Oktober, memandangkan September hanya mempunyai 30 hari.

Rujukan:

  • [Tarikh JavaScript Pembina](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)

Atas ialah kandungan terperinci Mengapa Objek `Tarikh` JavaScript Saya Menunjukkan Bulan yang Salah?. 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