1

我刚刚了解了 date js 的强大功能,而且它很棒!!!由于我是新手,我想知道对于不同类型的完整日期是否有任何形式的一般验证。例如。

var d1 = Date.parse('2000-10-18, 10:06 AM');
alert(d1.toString('HH:mm'));

如果日期是 ('200-10-18, 10:06 AM'),它当然不喜欢它。

所以我的问题是是否有任何快速的方法来验证完整日期,而不是必须一一验证。

谢谢。

4

2 回答 2

6

在这里,我再次回答你的问题。

要验证日期,您只需调用:

var d1 = "200-10-18, 10:06 AM";
Date.validateDay(d1); 

它会告诉你日期是否有效。

编辑

或者,您可以简单地这样做:

var d = Date.parseExact("2008-03-08", "yyyy-MM-dd"); 
if (d !== null) { 
     alert('Date = ' + d.toString('MMMM dd, yyyy')); 
} 

如果日期无效,使用 parseExact 将返回 null。

于 2010-03-09T10:26:07.547 回答
0

Date.parse如果这就是您的意思,将一起解析日期和时间。但它不喜欢上午/下午,因此您需要将小时转换为 24 小时制。

我建议,如果你知道它以 AM 或 PM 结尾,就去掉它,如果它是 AM,你就可以了。如果是下午,则将 60 * 60 * 12 * 1000 加回到结果中以恢复 12 小时。(秒 * 分钟 * 小时 * 毫秒)。

再试一次:var d1 = Date.parse('2000-10-18, 10:06');

此外,如果您想确保日期有效,如果输入无效,则 parse 将返回 NaN(不是数字)。但我相信,你几乎可以输入几千年内的任何日期/时间。只有当您尝试使用一些错误的语法解析日期时(例如对一个部分使用破折号,对另一部分使用斜杠),或者如果您尝试使用Date.parse("bananasandwitch").

于 2010-03-09T10:29:54.067 回答