首頁 >web前端 >js教程 >如何可靠地偵測無效的 JavaScript 日期物件?

如何可靠地偵測無效的 JavaScript 日期物件?

Susan Sarandon
Susan Sarandon原創
2024-12-13 00:54:09230瀏覽

How Can I Reliably Detect Invalid JavaScript Date Objects?

偵測 JavaScript 中的無效日期實例

確定 JavaScript Date 物件是否有效可能是一個挑戰。儘管顯示為對象,無效日期在字串轉換時返回“無效日期”。 instanceof Date 和 console.log 輸出之間的這種差異給開發人員帶來了問題。

解決方案:檢查 NaN 時間值

檢測無效日期的可靠方法是測試 NaN 作為時間值。在 Date 物件中,NaN 表示無效日期,而有效日期則具有有效的時間值。此行為記錄在 ECMA-262 標準中。

程式碼範例:

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
}

簡化版本:

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

請注意,此解決方案僅驗證日期對象,而不驗證日期輸入。無效日期(例如“2013-13-32”)與無效日期實例不同。

以上是如何可靠地偵測無效的 JavaScript 日期物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn