Apabila bekerja dengan tarikh dalam Javascript, adalah penting untuk memahami potensi percanggahan yang mungkin timbul apabila mencipta objek Tarikh baharu daripada perwakilan rentetan. Isu berikut boleh berlaku, dan penyelesaian disediakan untuk setiap:
1. Offset Sehari
Apabila mencipta objek Tarikh menggunakan rentetan dalam format "Tahun-Bulan-Hari", cth., "2011-09-24", tarikh yang terhasil mungkin cuti sehari . Ini disebabkan oleh gelagat lalai pembina Tarikh, yang menganggap zon waktu UTC (Masa Universal Selaras) dan mentafsir nilai input sebagai dalam waktu tempatan.
Penyelesaian: Untuk memastikan tarikh yang betul dikembalikan, rentetan hendaklah ditukar kepada format "Bulan-Hari-Tahun", cth., "09-24-2011," atau sempang hendaklah digantikan dengan garis miring ke hadapan, cth., "2011/09/24."
2. Keputusan Tidak Dijangka dengan Sempang dalam Rentetan Tarikh
Sempang yang digunakan sebagai pemisah tarikh boleh membawa kepada hasil yang tidak konsisten. Sebagai contoh, rentetan "2011-09-24" akan menghasilkan tarikh yang salah jika ditukar menggunakan pembina Tarikh, manakala rentetan "2011/09/24" akan menghasilkan tarikh yang betul.
Penyelesaian : Sentiasa gunakan garis miring ke hadapan ("/") sebagai pemisah tarikh.
3. Masalah dengan Rentetan Tarikh dalam Format "YYYY-MM-DDThh:mm:ss"
Apabila mencipta objek Tarikh daripada rentetan dalam format "2011-09-24T00:00:00," tarikh yang terhasil mungkin lagi satu hari cuti. Selain itu, jika rentetan ditukar menggunakan format garis miring ke hadapan, cth., "2011/09/24T00:00:00", ralat "Tarikh Tidak Sah" mungkin berlaku.
Penyelesaian: Untuk menghuraikan rentetan tarikh jenis ini dengan betul, gantikan sempang dengan garis miring ke hadapan dan alih keluar bahagian masa, mis., "2011/09/24T00:00:00".ganti(/-/g, '/').ganti(/T. /, '').
4. Fungsi Tambahan dengan Berbilang Argumen hingga Pembina Tarikh
Pembina Tarikh menyokong berbilang argumen, yang boleh membantu untuk melakukan pengiraan lanjutan. Contohnya, hanya menyediakan satu tahun dan bulan, cth., New Date(2011, 0), akan kembali pada hari pertama bulan itu. Sebagai alternatif, menyediakan tahun dan nilai hari negatif, cth., Tarikh baharu(2011, "02", -1), akan mengembalikan hari terakhir bulan sebelumnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengelakkan Percanggahan Tarikh Apabila Menggunakan Objek `Date` Javascript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!