有两个文本输入框(输入的是yyyy-MM-dd),
如何了用JAVASCRIPT取得这两个日期的天数差?

解决方案 »

  1.   

    function DateCompare(asStartDate,asEndDate){
    var miStart=Date.parse(asStartDate.replace(/\-/g,'/'));
    var miEnd=Date.parse(asEndDate.replace(/\-/g,'/'));
    return (miEnd-miStart)/(1000*24*3600)<0; //计算结束日期与开始日期的天数差
    }
      

  2.   

    function daysBetween(DateOne,DateTwo)   
    {    
        var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-'));   
        var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1);   
        var OneYear = DateOne.substring(0,DateOne.indexOf ('-'));   
        var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('-'));   
        var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ('-')+1);   
        var TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-'));   
        var cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);    
        return Math.abs(cha);   
    }  
      

  3.   


    var s1= "2009-7-1";
    var s2= "2009-8-1";dt1 = Date.parse(s1.replace(/-/g,"/"));
    dt2 = Date.parse(s2.replace(/-/g,"/"));
    diff = (dt2-dt1)/(24*60*60*1000);
    alert(diff);
      

  4.   

    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>test</title>
    <script>
    function on_click(){
    var v1 = document.getElementById("txt1").value.replace("-","/");
    var v2 = document.getElementById("txt2").value.replace("-","/");
    var d1 = new Date(v1);
    var d2  =new Date(v2);
    alert("相差:"+(d2.getTime()-d1.getTime())/24/3600/1000+"天");
    }
    </script>
    </head><body>
    <input type=text id=txt1 value="2009-07-01">
    <input type=text id=txt2 value="2009-07-19">
    <input type=button onclick="on_click()" value="show">
    </div></body></html>
      

  5.   


    <script type="text/javascript" language="javascript">
        function ComputeDate() { 
        var year;
        var month;
        var day;
        var text;
        text=document.getElementById("startDate").value;
        var startDate =  getYMD(text);
        text = document.getElementById("endDate").value;
        var endDate = getYMD(text);
        var day = (endDate.getTime() - startDate.getTime()) / (1000 * 60 * 60 * 24);
        alert(day);
    }
    function getYMD(text) {
        var index1, index2;
         index1 = text.indexOf("-");
        index2 = text.lastIndexOf("-");
        year = text.substring(0, index1);
        month = text.substring(index1 + 1, index2);
        day = text.substring(index2 + 1, text.length);
        return new Date(year, month - 1, day - 1);
     }
    </script>