2014-03-25 87 views
0

我想比較兩個日期使用javascript,日期時間格式如下。這裏我想檢查date1> date2.How我可以在JavaScript中實現此。比較使用javasctipt的日期時間

var date1='2014-03-25 07:30 AM'; 
var date2='2014-03-25 04:30 PM'; 
+1

可能重複:HTTP:// stackoverflow.com/questions/11170054/compar e-two-dates-with-javascript#answer-11170062 –

+0

您將需要以不同的格式對這些日期字符串進行格式化,然後才能實例化跨瀏覽器的新Date對象。 – kinakuta

回答

0

使用getTime

if ((new Date(date1).getTime()) > (new Date(date2).getTime())){ 
} 
+0

如果我這樣做提醒(新日期(date1).getTime())我越來越NaN – user1851420

+0

這隻會發生如果'date1'不是你聲稱它是。你可以做'alert(date1)'嗎? – basarat

+0

alert(date1)正在工作 – user1851420

0

這樣的 -

if((new Date(date1).getTime()) > (new Date(date2).getTime())){ 
// do something 
} 
0

請試試這個。

if (new Date(date1) > new Date(date2)) 
+0

無效日期 – user1851420

+0

我已經測試過,它運行良好。我也向你發送我已經完成測試的場景。函數func(){ var date1 ='2014-03-25 07:30 AM'; var date2 ='2014-03-25 04:30 PM'; (date1(date1)> new Date(date2)){ alert('date1'+ date1); alert('date2'+ date2); (new date(date1)

+0

我不知道爲什麼如果我乾脆提醒(新日期(date1));我的日期無效 – user1851420

0

這應該工作:

var date1 = '2014-03-25 07:30 AM'; 
    var date2 = '2014-03-25 04:30 PM'; 
    console.log((new Date(date1)) >= (new Date(date2))); 

編輯: 運算正確地指出,上面的代碼不工作(在Firefox中,例如,但它在Chrome工作)。我已閱讀

new Date() // current date and time 
new Date(milliseconds) //milliseconds since 1970/01/01 
new Date(dateString) 
new Date(year, month, day, hours, minutes, seconds, milliseconds) 

是日期here的有效實例。

但是,示例中用於date1和date2的日期字符串無效,因此在所有瀏覽器中均不支持。

而是「2014年3月25日上午07點30分」(這是無效的),你應該做下列之一:

  • 將您輸入到毫秒
  • 將您輸入的日期字符串,如 「1975年10月13日11時13分○○秒」
  • 計算的年,月,日,時,分,秒和毫秒,然後將它們傳遞給實例
+0

不工作新日期(日期1)給出無效日期 – user1851420

+0

@ user1851420,請參閱我編輯的答案。 –