Javascript:根据当前日期检查格式化的日期值

Javascript: check formatted date value against current date?

本文关键字:格式化 日期 检查 当前日期 Javascript      更新时间:2023-09-26

文本输入包含德语格式的日期15.09.2012我只是简单地使用$('#wr_event_date').val()来查询输入字段中的值。

我想知道我怎么能把那个日期和"今天"匹配起来?

var eventDate = $('#wr_event_date').val();
   // if eventDate is older than today as in "is over" doSomething();

所以基本上,我想检查eventDate是否比今天早,如果是,我想做一些事情();

对此有什么想法?提前谢谢。

不幸的是,您必须自己解析日期。然后,用new Date()获取当前日期,重置时间部分,并比较两个日期:

var s = $('#wr_event_date').val().split(".");
var eventDate = new Date(s[2], s[1] - 1, s[0]);
var today = new Date();
today.setHours(0, 0, 0, 0); // reset time
if (eventDate.getTime() - today.getTime() < 0) { // event date is older than today
  doSomething();
}

演示

如果您可以使用第三方库,那么moment.js提供了解析日期字符串和操作日期的函数。

var parts = '15.09.2012'.split('.')
var date = Date.parse(parts[1], parts[0] - 1, parts[2]);
if (date - new Date().getTime() > 24 * 60 * 60 * 1000) ...
​