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

如何可靠地偵測無效的 JavaScript 日期實例?

Mary-Kate Olsen
發布: 2024-12-13 14:12:11
原創
143 人瀏覽過

How Can I Reliably Detect Invalid JavaScript Date Instances?

檢測無效的 JavaScript 日期實例

確定 JavaScript 中 Date 物件的有效性可能很棘手。人們可能會想要檢查物件的類型和 instanceof 運算符,但這些方法還不夠。

JavaScript 的「無效日期」概念

與某些語言不同,JavaScript 會沒有明確區分有效日期和無效日期。相反,它將無效日期表示為時間值為 NaN(非數字)的物件。

定義isValidDate 函數

檢查Date 物件是否為是否有效,我們可以使用以下步驟:

  1. 驗證該物件是否為Date實例: Object.prototype.toString.call(d) === "[object Date]"
  2. 檢查 Date 的時間值是否為 NaN: isNaN(d)

如果兩個條件都滿足滿足,則考慮 Date 物件無效。

實作

這是isValidDate 函數的實作:

function isValidDate(d) {
  if (Object.prototype.toString.call(d) === "[object Date]") {
    return !isNaN(d);
  } else {
    return false;
  }
}
登入後複製

相同上下文日期物件的替代方法

相同上下文日期物件的替代方法

function isValidDate(d) {
  return d instanceof Date && !isNaN(d);
}
登入後複製

>如果您只使用在相同的JavaScript上下文中,可以使用該函數的更簡單版本:

有關「無效日期」的註解需要注意的是,此函數僅驗證Date物件是否有效,而不是日期本身是否有效(例如,2013-13-32)。對於輸入日期驗證,需要不同的方法。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板