怎么用js计算时间差 总共三个文本框 前两个可选择日期 选完后得到相差的时间自动

解决方案 »

  1.   

    onchang事件new Date(year,month,day,hour,minute,second) 
    Date对象相减后就是时间差了 只不过是毫秒为单位的
    自己转换成想要的格式
      

  2.   

     var starttime_text = $(endtime).parent().prev("td").find("input[name='Start_Time_ZhuSu']").val();
        var endtime_text = $(endtime).val();
        starttime_text = new Date(starttime_text.replace('-', '/'));
        endtime_text = new Date(endtime_text.replace('-', '/'));
        var Hour = (endtime_text - starttime_text) / 1000 / 3600;
        var Day = Math.floor(Hour / 24);
        var LastHour = Hour - Day * 24;
      

  3.   


    <body>
    请输入开始日期:<input type="text" id="ksDate" onChange="doSum()" />
    请输入结束日期:<input type="text" id="jsDate" disabled onChange="doSum()" />
    相差天数:<input type="text" id="Result" readonly />
    <script type="text/javascript">
    function $(id){
    return document.getElementById(id);
    }
    function doSum(){
    var ks = $("ksDate");
    var js = $("jsDate");
    if(!/GMT/gi.test(new Date(ks.value))){
    alert("请输入有效的日期!");
    ks.focus();
    js.disabled = true;
    $("Result").value = "";
    }else{
    js.disabled = false;
    if(js.value != ""){
    if(!/GMT/gi.test(new Date(js.value))){
    alert("请输入有效的日期!");
    js.focus();
    }else{
    Date.prototype.diff = function(date){
    return (this.getTime() - date.getTime())/(24 * 60 * 60 * 1000);
    }
    $("Result").value = new Date(js.value).diff(new Date(ks.value));
    }
    }
    }
    }
    </script>
    </body>