2014-10-02 81 views
0

我正在AngularJS中工作,但在處理日期時遇到錯誤。我目前有一個Unix時間戳,我需要了解它是否是今天。新日期() - 對象不是函數

 var start = new Date(); 
      start.setHours(0,0,0,0); 
     var end = new Date(); 
      end.setHours(23,59,59,999); 

     // Convert to Second/Unix Timestamp 
     start = Math.round(start.getTime() /1000); 
     end = Math.round(end.getTime() /1000); 

     for (i = 0; i < list.length; i++) { 
      var date = Date.utcDateToTimestamp(list[i].date_utc); 
      if(start < date && end > date) 
       console.log('this one is today'); 
     } 

但是,我得到在控制檯中的錯誤:

TypeError: object is not a function 

我看着它,它似乎我甚至不能創建一個新的Date對象,而這個被拋出:

var start = new Date(); 

這是真的很明顯,或.. ..?

+0

很確定'sethours'需要*一個*參數,即小時... – 2014-10-02 09:33:24

+0

'setHours(小時,分鐘,秒,millisec)' - 這不是''問題,但它甚至不會允許我創建日期對象。 – Alias 2014-10-02 09:35:47

+2

如何定義Date.utcDateToTimestamp?這是代碼中唯一的「可能作爲函數使用的對象」元素。 – 2014-10-02 09:39:54

回答

1

Mayby尋找simplier解決方案:

//Get today's date 
var todaysDate = new Date(); 

//call setHours to take the time out of the comparison 
if(inputDate.setHours(0,0,0,0) == todaysDate.setHours(0,0,0,0)); 
{ 
    //Date equals today's date 
} 

你不需要檢查時間,復位時間至零並加以比較。你有興趣在年,月,日只有:)

+0

雖然不是問題,但我會接受它,因爲它也幫助我,很好的解決方案! – Alias 2014-10-02 10:17:39