2012-10-02 56 views
3

我用這個來測試日期輸入是否不少於7天,自今天起它工作在所有瀏覽器,除了< IE9javascript日期不定/楠IE8

var today = new Date("<?=date("Y-m-d")?>"); //eg: 02-10-2012 
var arrDate = new Date(startYear+"-"+startMonth+"-"+startDay); //eg: 05-10-2012 
var diff = new Date(arrDate - today); 
var days = diff/1000/60/60/24; 
if(days<7) alert("less than 7 days."); 

我不明白的錯誤IE控制檯(F12),但days作爲NaN調試,有沒有人知道什麼是與IE的問題?

+1

就像一個筆記,儘量避免使用PHP的短標籤。 – BenM

+0

我試過你的代碼(去掉用顯示的數據字符串替換的php和變量連接)並猜測是什麼。 Firefox提供了一個無效的Date對象。 Date對象有一個構造函數,它需要日期(年,月,日,[etc]。我還注意到,您正在使用除法日期對象差異... JavaScript是否提供操作符重載Date? –

回答

14

IE 8(及以下版本)無法識別y-m-d格式的日期字符串。

我建議您使用y/m/d,因爲這是所有瀏覽器都能識別的。


PS:您的評論是錯誤的。

new Date("<?=date("Y-m-d")?>"); //eg: 02-10-2012 

應該讀

new Date("<?=date("Y-m-d")?>"); //eg: 2012-10-02 

在一般筆記,你永遠不應該發表意見明顯,以避免不反映代碼中的註釋。 date("Y-m-d")非常明顯,它根本不需要評論。

+0

作品謝謝 –

+0

哦,是的,你說得對,謝謝 –