Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengesan Objek Tarikh JavaScript Tidak Sah dengan Amanah?

Bagaimanakah Saya Boleh Mengesan Objek Tarikh JavaScript Tidak Sah dengan Amanah?

Susan Sarandon
Susan Sarandonasal
2024-12-13 00:54:09230semak imbas

How Can I Reliably Detect Invalid JavaScript Date Objects?

Mengesan Kejadian Tarikh Tidak Sah dalam JavaScript

Menentukan sama ada objek Tarikh JavaScript sah boleh menjadi satu cabaran. Walaupun muncul sebagai objek, tarikh tidak sah mengembalikan "Tarikh Tidak Sah" apabila penukaran rentetan. Percanggahan antara instanceof Date dan output console.log ini menimbulkan masalah kepada pembangun.

Penyelesaian: Menyemak Nilai Masa NaN

Satu kaedah yang boleh dipercayai untuk mengesan tarikh tidak sah adalah dengan ujian untuk NaN sebagai nilai masa. Dalam objek Tarikh, NaN menunjukkan tarikh yang tidak sah, manakala tarikh yang sah mempunyai nilai masa yang sah. Tingkah laku ini didokumenkan dalam standard ECMA-262.

Contoh Kod:

if (Object.prototype.toString.call(d) === "[object Date]") {
  if (isNaN(d)) { // d.getTime() or d.valueOf() also works
    // Date object is invalid
  } else {
    // Date object is valid
  }
} else {
  // Not a date object
}

Versi Ringkas:

function isValidDate(d) {
  return d instanceof Date && !isNaN(d);
}

Perhatikan bahawa penyelesaian ini hanya mengesahkan objek Tarikh, bukan input tarikh. Tarikh tidak sah, seperti "2013-13-32," berbeza daripada kejadian Tarikh tidak sah.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Objek Tarikh JavaScript Tidak Sah dengan Amanah?. 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