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:
Akibatnya, JavaScript mentafsir parameter yang diberikan sebagai 23 September 2012, itulah sebabnya tarikh log menunjukkan 23 Oktober, memandangkan September hanya mempunyai 30 hari.
Rujukan:
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!