2012-08-25 126 views
1

文本輸入包含德語格式日期15.09.2012 我只是使用$('#wr_event_date').val()來查詢輸入字段中的值。Javascript:根據當前日期檢查格式化的日期值?

我想知道我可以如何匹配那個日期再次「今天」?

var eventDate = $('#wr_event_date').val(); 

    // if eventDate is older than today as in "is over" doSomething(); 

所以基本上我想檢查EVENTDATE比目前老,如果是的話我想DoSomething的();

想法?先謝謝你。

+0

我不會依賴客戶端來配置適當的日期。 – Anders

回答

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(); 
} 

DEMO

0

如果您可以使用第三方庫,那麼moment.js提供瞭解析日期字符串和操作日期的函數。

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) ... 
​