在網上搜了段代碼,在IE6、7、8、9,Chrome下測試通過,沒有在Firefox中測試。后來說Firefox測試未通過,因為firefox中date老返回NaN。修改了下,現在OK了,代碼如下:
/* * 計算兩個日期的間隔天數 * BeginDate:起始日期的文本框,格式為:2012-01-01 * EndDate:結束日期的文本框,格式為:2012-01-02 * 返回兩個日期所差的天數 * 調用方法: * alert("相差"+Computation("date1","date2")+"天"); */ function GetDateRegion(BeginDate,EndDate) { var aDate, oDate1, oDate2, iDays; var sDate1=document.getElementById(BeginDate).value; //sDate1和sDate2是2008-12-13格式 var sDate2=document.getElementById(EndDate).value; aDate = sDate1.split("-"); oDate1 = new Date(aDate[1] + '/' + aDate[2] + '/' + aDate[0]); //轉換為12/13/2008格式 aDate = sDate2.split("-"); oDate2 = new Date(aDate[1] + '/' + aDate[2] + '/' + aDate[0]); //iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24)+1; //把相差的毫秒數轉換為天數 var i=(oDate1 - oDate2) / 1000 / 60 / 60 /24; if(i<0) { i-=1; } else { i+=1; } iDays = i; //把相差的毫秒數轉換為天數 //alert(iDays); return iDays; }