相关疑难解决方法(0)

在JavaScript中检测"无效日期"日期实例

我想告诉JS中有效和无效日期对象之间的区别,但无法弄清楚如何:

var d = new Date("foo");
console.log(d.toString()); // shows 'Invalid Date'
console.log(typeof d); // shows 'object'
console.log(d instanceof Date); // shows 'true'
Run Code Online (Sandbox Code Playgroud)

编写isValidDate函数的任何想法?

  • Ash建议Date.parse用于解析日期字符串,它提供了一种检查日期字符串是否有效的权威方法.
  • 如果可能的话,我希望我的API接受一个Date实例,并且能够检查/断言它是否有效.Borgar的解决方案就是这样做的,但我需要跨浏览器进行测试.我也想知道是否有更优雅的方式.
  • Ash让我觉得根本没有我的API接受Date实例,这最容易验证.
  • Borgar建议测试一个Date实例,然后测试它Date的时间值.如果日期无效,则时间值为NaN.我用ECMA-262检查了这个行为是标准的,这正是我正在寻找的.

javascript date

1381
推荐指数
24
解决办法
75万
查看次数

如何检查对象是否为日期?

我在网页上有一个恼人的错误:

date.GetMonth()不是函数

所以,我想我做错了什么.变量date不是类型的对象Date.如何在Javascript中检查数据类型?我试图添加一个if (date),但它不起作用.

function getFormatedDate(date) {
    if (date) {
       var month = date.GetMonth();
    }
}
Run Code Online (Sandbox Code Playgroud)

所以,如果我想编写防御性代码并防止日期(不是一个)被格式化,我该怎么做?

谢谢!

更新:我不想检查日期的格式,但我想确保传递给方法的参数getFormatedDate()是类型Date.

javascript date

527
推荐指数
12
解决办法
39万
查看次数

用Java验证错误日期

我正在按照示例验证日期字符串。

虽然下面的示例评估为true。

var date = new Date('12/21/2019');
console.log(date instanceof Date && !isNaN(date.valueOf()));
Run Code Online (Sandbox Code Playgroud)

这个下面的例子即使是一个不好的日期也算为true。

var date = new Date('02/31/2019');
console.log(date instanceof Date && !isNaN(date.valueOf()));
Run Code Online (Sandbox Code Playgroud)

有更好的方法吗?

javascript date

7
推荐指数
1
解决办法
244
查看次数

标签 统计

date ×3

javascript ×3