Adakah Objek Tarikh JavaScript Dimatikan Sehari
Objek Tarikh JavaScript boleh berkelakuan secara khusus apabila bekerja dengan rentetan tarikh, yang berpotensi mengakibatkan tarikh yang salah . Tingkah laku ini boleh berbeza-beza bergantung pada format rentetan input dan tetapan tempat semasa penyemak imbas.
Isu Format Rentetan
Apabila mencipta objek Tarikh baharu daripada rentetan tarikh , format rentetan boleh memberi kesan kepada tarikh yang terhasil. Sebagai contoh, pertimbangkan rentetan berikut:
2011-09-24
Jika anda mencipta objek Tarikh menggunakan rentetan ini sebagaimana adanya, ia mungkin mengembalikan tarikh yang cuti sehari. Walau bagaimanapun, jika anda menukar tanda sempang ("-") kepada memajukan garis miring ("/"), tarikh yang terhasil akan betul.
2011/09/24
Rentetan Tarikh-Masa
Jika rentetan tarikh termasuk komponen masa (cth., "2011-09-24T00:00:00"), tanda sempang dan ke hadapan helah slash mungkin tidak berfungsi lagi. Dalam kes ini, anda boleh mengalih keluar komponen masa menggunakan ungkapan biasa:
new Date("2011-09-24T00:00:00".replace(/-/g, '/').replace(/T.+/, ''));
Argumen Berasingan
Cara lain untuk mencipta objek Date ialah dengan menyediakan argumen berasingan untuk tahun, bulan dan hari (dengan pilihan jam, minit, saat dan milisaat). Pendekatan ini boleh berguna untuk mengira tarikh tertentu atau bekerja dengan tarikh dalam tempat tertentu.
Sebagai contoh, kod berikut mendapatkan semula hari pertama dan terakhir tahun 2011:
new Date(2011, 0); // First day of 2011 new Date((2011 + 1), 0, 0); // Last day of 2011
Ingat, bulan adalah berasaskan sifar dalam kes ini, jadi "0" mewakili Januari.
Dengan memahami keanehan ini, anda boleh mengelakkan tarikh yang salah dan berfungsi dengan berkesan dengan tarikh dalam JavaScript.
Atas ialah kandungan terperinci Mengapa Objek Tarikh JavaScript Saya Cuti Sehari?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!