我想计算自xml节点中输入的值以来到目前为止的天数。我试图将两个脚本组合在一起,在Firefox和Chrome中都可以正常工作 - 但在Explorer和Safari中没有,结果显示为NaN。请参阅下面的脚本。提前谢谢。
<div>
<script type="text/javascript">
function loadXMLDoc(dname)
{
(window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
xhttp.open("GET",dname,false);
xhttp.send();
return xhttp.responseXML;
}
xmlDoc=loadXMLDoc("date.xml?v="+Math.floor((Math.random()*5000)+1).toString());
x=xmlDoc.getElementsByTagName("ABC")[0]
y=x.childNodes[0];
var startDate = new Date(y.nodeValue);
var endDate = new Date();
function diffDays(d1, d2)
{
var ndays;
var tv1 = d1.valueOf();
var tv2 = d2.valueOf();
ndays = (tv2 - tv1) / 1000 / 86400;
ndays = Math.round(ndays - 0.5);
return ndays;
}
</script>
答案 0 :(得分:1)
我建议您使用moment作为日期/时间库。它是这类代码的最佳库。
var currDate = moment():
var givenDate = moment(y.nodeValue);
return givenDate.diff(currentDate, 'days');