1

文本输入包含一个德语格式的日期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 是否比今天更早,如果是,我想 doSomething();

对此有什么想法?先感谢您。

4

3 回答 3

1

不幸的是,您必须自己解析日期。然后,用 获取当前日期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();
}

演示

于 2012-08-25T15:01:08.720 回答
0

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

于 2012-08-25T14:58:27.317 回答
0
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) ...
​
于 2012-08-25T15:04:36.967 回答