2015-05-21 4 views
0

Я хотел бы рассчитать количество дней с момента ввода значения в узле xml и до сегодняшнего дня. Я попытался объединить два сценария для этой цели, которые отлично работают как в Firefox, так и в Chrome, но не в Explorer и Safari, где результат отображается как NaN. См. Сценарий ниже. Заранее спасибо.Рассчитать количество дней в JavaScript и xml


<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

Ill предлагаю вам использовать moment как библиотека даты/времени. Это лучшая библиотека для такого кода.

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

Thank you Nimrodx. – McClaud

Смежные вопросы