2016-11-11 71 views
0

這裏是我的代碼來找到兩個給定的日期是否相等。如何只允許日期等於和小

如果今天是小或​​相等,它應該允許。如果是更大的日期,它不應該允許。

var date = '10-11-2015'; 
var today = '11-11-2016' 
alert(today) 
alert(date) 
if(today <= date) 
{ 
    alert("small-or-equal-allow") 
} 
else 
{ 
    alert("larger-not-allow") 
} 

但是它的顯示不能按預期工作幾天。什麼是錯誤,我該如何解決它?

+2

轉換字符串日期然後比較:-) – JonSG

+0

可我知道我可以請這樣做 –

+0

12-11-2015> 11-11-2016,因爲第一個字母的值較高,請按照JonSG所建議的更改爲日期 –

回答

4

你在比較字符串,而不是日期。如果您希望這些值的日期進行治療,那麼你需要投他們爲日期...

var date = new Date('10-11-2015'); 
 
var today = new Date('11-11-2016'); 
 

 
if (today <= date) { 
 
    alert("small-or-equal-allow"); 
 
} 
 
else { 
 
    alert("larger-not-allow"); 
 
}

+0

強烈建議不要使用Date構造函數解析字符串,因爲解析ISO 8601以外的任何格式都是實現的依賴。可以使用定製功能(2行代碼)或庫。 – RobG