2015-04-23 100 views
2

我在* .s文件一個簡單比較:日期比較不正常

 var lastSelectedDate = new Date(DateConvert(value)); 
     var todayDate = new Date($.now());    

     if (lastSelectedDate < todayDate) { 
      return false; 
     } 
     else { 
      return true; 
     } 

當我到達if,我有第二個值:

lastSelectedDate = Thu Apr 23 2015 00:00:00 GMT+300 
todayDate = Thu Apr 23 2015 15:18:31 GMT+300 

很明顯,lastSelectedDate < todayDate

但是,事情是,我需要比較這些日期沒有時間(條件是lastSelectedDate是大於或等於)。

Ofcourse可以通過使用.getDay().getMonth().getYear()來完成,但有沒有另一種方法來排除它的時間?沒有額外的庫?

+0

簡短的回答,沒有不真。你需要使用'setHour','setMinute'等強迫'todayDate'爲'00:00:00' –

+0

類似[this question](http://stackoverflow.com/questions/2698725/comparing-date -Part只,而無需-比較時,在JavaScript的)。 – Regent

+0

我想到了它,但沒有辦法......立刻做出來?有可能我會有另一個類似的比較,這意味着,我需要創建一個函數爲droping時間(DateConvert例如,交換日和月)... –

回答

2

只是 「調用setHours」 添加到您的代碼:

var todayDate = new Date().setHours(0,0,0,0) 
+0

Em ...似乎工作正常,但...從今天添加setHours製作一堆數字...這應該是這樣工作? –

+0

你可以使用你的DateConvert後 –

+0

它只適用於字符串日期,但whatewer。到目前爲止看起來不錯並且工作:D –

0

你可以使用Date.prototype.setHours()以小時,分鐘,秒和毫秒都設置爲0。

if (lastSelectedDate.setHours(0,0,0,0) < todayDate.setHours(0,0,0,0)) {