首页 > 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;
  }
}
登录后复制

相同上下文日期对象的替代方法

如果您仅使用在在相同的 JavaScript 上下文中,可以使用该函数的更简单版本:

function isValidDate(d) {
  return d instanceof Date && !isNaN(d);
}
登录后复制

有关“无效日期”的注释

需要注意的是,此函数仅验证Date 对象是否有效,而不是日期本身是否有效(例如,2013-13-32)。对于输入日期验证,需要不同的方法。

以上是如何可靠地检测无效的 JavaScript 日期实例?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板