计算JavaScript和xml中的天数

时间:2015-05-21 09:29:11

标签: javascript xml

我想计算自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>

1 个答案:

答案 0 :(得分:1)

我建议您使用moment作为日期/时间库。它是这类代码的最佳库。

var currDate = moment():
var givenDate = moment(y.nodeValue);
return givenDate.diff(currentDate, 'days');