js计算精确到时分秒日期天数,Google浏览器不兼容问题,求解

如:起始日期为: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天计算
}

肯定里面某个函数在谷歌浏览器下不兼容, 你一步步alert下相关的值, 看看值都是否正确。追问

用如上的日期测试
在IE下:
alert(oDate1.getFullYear()); //2013
alert(oDate2.getFullYear()); //2014

在google下:
alert(oDate1.getFullYear()); //2001
alert(oDate2.getFullYear()); //2001

追答

那这样的话, 你得要换一个兼容的函数

温馨提示:答案为网友推荐,仅供参考
相似回答