Rumah >hujung hadapan web >tutorial js >Mengapa Objek Tarikh Javascript Saya Mengembalikan Tarikh yang Salah?

Mengapa Objek Tarikh Javascript Saya Mengembalikan Tarikh yang Salah?

DDD
DDDasal
2024-12-06 08:17:11291semak imbas

Why Does My Javascript Date Object Return an Incorrect Date?

Adakah Objek Tarikh Javascript Menyebabkan Percanggahan dengan Tarikh?

Dalam aplikasi Javascript anda, tarikh yang disimpan mengikut format tertentu , "24-09-2011." Apabila cuba mencipta objek Date baharu menggunakan nilai ini, anda telah menghadapi isu di mana tarikh dikembalikan secara konsisten satu hari cuti.

Memahami Gelagat Objek Tarikh

Untuk menyelidiki percanggahan ini, adalah penting untuk memahami cara objek JS Date mentafsir rentetan input. Objek Tarikh mempamerkan anomali tertentu apabila menukar format rentetan tarikh yang berbeza. Mari kita periksa beberapa contoh:

Memahami Logik Penghuraian Objek Tarikh

Apabila anda mencipta objek Tarikh menggunakan rentetan "2011-09-24," Objek tarikh mentafsirkannya sebagai cap masa yang mewakili 23 September 2011, pada 17:00:00 GMT-0400 (Waktu Siang Timur). Akibatnya, tarikh yang dikembalikan ialah cuti sehari daripada hasil jangkaan anda.

Walau bagaimanapun, jika anda mengubah format rentetan kepada "09-24-2011" (bertukar kepada Bulan-Hari-Tahun), objek Tarikh dengan betul mentafsir dan mengembalikan pada 24 September 2011.

Pertimbangan untuk Format Tarikh Berbeza

Satu lagi pemerhatian menarik ialah perbezaan antara menggunakan tanda sempang (-) dan garis miring ke hadapan (/) dalam rentetan tarikh. Menukar pemisah untuk memajukan garis miring menghasilkan penghuraian tarikh yang tepat, seperti yang dilihat dengan contoh "2011/09/24".

Mengatasi Rentetan Tarikh Kompleks

Untuk rentetan tarikh yang mengandungi maklumat tambahan seperti masa atau zon waktu, peraturan penghuraian yang sedikit berbeza dikenakan. Contohnya, "2011-09-24T00:00:00" masih akan menghasilkan tarikh yang salah, tetapi menggantikan tanda sempang dengan garis miring ke hadapan dan mengalih keluar bahagian masa akan menghasilkan hasil yang diingini.

Kaedah Pembinaan Tarikh Alternatif

Jika anda menghadapi cabaran menghuraikan format rentetan tarikh tertentu, anda juga boleh menggunakan pendekatan parameter berasingan untuk pembina Tarikh. Kaedah ini membolehkan anda memberikan hujah untuk tahun, bulan, hari dan juga masa dan zon waktu, seperti yang dilihat dalam contoh yang disediakan.

Untuk kejelasan, perlu diperhatikan bahawa contoh yang dibentangkan mungkin menunjukkan tingkah laku yang berbeza bergantung pada anda zon waktu dan masa semasa.

Atas ialah kandungan terperinci Mengapa Objek Tarikh Javascript Saya Mengembalikan Tarikh 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