在网上搜了段代码,在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; }