2015-04-23 62 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)) {