在网上找到一段代码:
function DateDiff(sDate1,sDate2) { var arrDate,objDate1,objDate2,intDays; arrDate=sDate1.split("-"); objDate1=new Date(arrDate[1]+'-'+arrDate[2]+'-'+arrDate[0]); arrDate=sDate2.split("-"); objDate2=new Date(arrDate[1] + '-'+arrDate[2]+'-'+arrDate[0]); intDays=parseInt(Math.abs(objDate1-objDate2)/1000/60/60/24); return intDays; }
上面一段代码IE有效,火狐无效。经过自己查资料把上述代码改成
function GetDay() { var arrDate, objDate1, objDate2, intDays; objDate1 = new Date(); objDate2 = new Date(); arrDate = $("#开始日期").val().split("-"); objDate1.setFullYear(arrDate[0], arrDate[1], arrDate[2]); arrDate = $("#结束日期").val().split("-"); objDate2.setFullYear(arrDate[0], arrDate[1], arrDate[2]); intDays = parseInt(Math.abs(objDate1 - objDate2) / 1000 / 60 / 60 / 24); $("#天数").val(intDays + 1); }
经过对比,我使用了setFullYear赋值。这样,IE,火狐都支持了。