2013-08-26 163 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