如:起始日期为:2013-04-22 00:00:00
终止日期为:2014-04-21 23:59:59
正确天数应为365天,但计算出来发现只得到1天. 发现只有跨年时才出现此情况,如果年份相同,计算正确的,且IE浏览器下时正确的。
计算方法如下:
function GetDateDiff(BeginDate,EndDate){
var aDate, oDate1, oDate2, iDays;
var sDate1=BeginDate.value;
var sDate2=EndDate.value;
aDate = sDate1.split("-");
oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
aDate = sDate2.split("-");
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
var iDays=(oDate2 - oDate1) / 1000 / 60 / 60 /24;
return Math.ceil(iDays); // 不足1天按1天计算
}
用如上的日期测试
在IE下:
alert(oDate1.getFullYear()); //2013
alert(oDate2.getFullYear()); //2014
在google下:
alert(oDate1.getFullYear()); //2001
alert(oDate2.getFullYear()); //2001
那这样的话, 你得要换一个兼容的函数