2013-08-26 168 views
0

对不起,如果重复但找不到任何类似的,可以帮助我。计算日期+时间范围

我使用datetime picker

,我试图直到基于天+时间

来计算的日期范围,现在我有这个 进来JS

$('#calculate').click(function(event){ 
    event.preventDefault(); 
    var darrival = $('#darrival').val(); 
    var rdate = $('#rdate').val(); 
    var start = new Date(darrival); 
    var end= new Date(rdate); 
    var finaltime=(end-start)/1000/60/60; 
    alert(finaltime); 
}); 

但我正在逐渐NaN的。 我做

console.log(start) 

它显示 “无效的日期”

,我服用(var darrival = $('#darrival').val();) 看起来像值:26-08-2013 01:08

我猜新日期不计算时间可以有人建议的东西? 谢谢你的提名。

+0

http://stackoverflow.com/questions/13903897/javascript-return-number-of-days-hours-minutes-seconds-between-dates – Sheetal

回答

2

我认为你需要改变你的代码更然后一件事..

1) you need specify language and format while building datetimepicker 

2) you need to get data using datpicker's api not using the textbox 

请看到我下面的例子,这可能帮助你

<body> 

    <div class="well"> 

     <div id="rdate" class="input-append date"> 
     <input data-format="dd-MM-yyyy hh:mm:ss" type="text" id="date1"></input> 
     <span class="add-on"> 
      <i data-time-icon="icon-time" data-date-icon="icon-calendar"> 
      </i> 
     </span> 
     </div> 


     <div id="darrival" class="input-append"> 
      <input data-format="dd-MM-yyyy hh:mm:ss" type="text" id="date2"></input> 
      <span class="add-on"> 
       <i data-time-icon="icon-time" data-date-icon="icon-calendar"> 
       </i> 
      </span> 
     </div> 



    </div> 

    <input type='button' name='calculate' id='calculate' value='click this' onclick='fn1()'> 

    <script type="text/javascript"> 
     $(function() { 
     $('#darrival').datetimepicker({ 
      format: 'dd/MM/yyyy hh:mm:ss', 
      language: 'pt-BR' 
     }); 

     $('#rdate').datetimepicker({ 
      format: 'dd/MM/yyyy hh:mm:ss', 
      language: 'pt-BR' 
     }); 


     }); 
    </script> 

    <script type="text/javascript"> 

     $('#calculate').click(function(event){ 

      event.preventDefault(); 
      var picker1 = $('#darrival').data('datetimepicker'); 
      var picker2 = $('#rdate').data('datetimepicker'); 
      var start = new Date(picker1.getDate()); 
      var end= new Date(picker2.getDate()); 
      var finaltime=(end-start)/1000/60/60; 
      alert(finaltime); 

     }); 
    </script> 

</body> 
+0

使用ur示例我来了'TypeError:无法调用未定义的'getDate'错误,所以我做了如下:var darrival = $('#darrival')。val(); var rdate = $('#rdate')。val(); var start = new Date(darrival); var end = new Date(rdate); var finaltime =(end - start)/ 1000/60/60;警报(finaltime); **修正了更改后的数据格式:26-08-2013 01:08 2013-08-26 01:08 ** – Froxz