2013-05-19 75 views
0

大家好!我發現這個劇本,我http://jsfiddle.net/diode/nuv7t/5/它使一個不同betweeen 2小時,但我需要定義這些2瓦爾2小時之間的區別jquery

var start_actual_time = "01/17/2012 11:20"; 
var end_actual_time = "01/18/2012 12:25"; 

這樣一個項目:

var start_actual_time = "input#start"; 
var end_actual_time = "input#end"; 

,差異寫入新的輸入#result

這裏是我嘗試:http://jsfiddle.net/UmwXW/

如果有人能幫助我,謝謝。

+0

小心特定文化解析。例如,如果您有「01/04/2012」,則可以將其解析爲1月4日或4月1日。瀏覽器的語言環境將決定它所遵循的內容。爲了更加一致的解析,請在支持它的瀏覽器中使用ISO8601格式的輸入,例如「2012-01-17T11:20」,或者使用[moment.js](http://momentjs.com/)使用明確的格式進行解析串。 –

回答

5

演示-->http://jsfiddle.net/UmwXW/1/

var start_actual_time = $("#start").val(); 
var end_actual_time = $("#end").val(); 

start_actual_time = new Date(start_actual_time); 
end_actual_time = new Date(end_actual_time); 

var diff = end_actual_time - start_actual_time; 

var diffSeconds = diff/1000; 
var HH = Math.floor(diffSeconds/3600); 
var MM = Math.floor(diffSeconds % 3600)/60; 

var formatted = ((HH < 10) ? ("0" + HH) : HH) + ":" + ((MM < 10) ? ("0" + MM) : MM) 
$('#result').val(formatted); 
+0

上例中的日期格式是mm-dd-YYYY。我使用bootstap日期時間選擇器,我希望日期格式爲dd-mm-YYYY。這將如何適用於這種格式。當我選擇first_date作爲01-10-2015 18:00和second_date作爲02-10-2015 18:37。它將(second_date - first_date)設置爲744:37。 – Mukesh

0

這是我與KEYUP功能最終代碼。謝謝pXL。

$("#end").keyup(function() { 


var start_actual_time = $("#start").val(); 
    var end_actual_time = $("#end").val(); 

    start_actual_time = new Date(start_actual_time); 
    end_actual_time = new Date(end_actual_time); 

    var diff = end_actual_time - start_actual_time; 

    var diffSeconds = diff/1000; 
    var HH = Math.floor(diffSeconds/3600); 
    var MM = Math.floor(diffSeconds % 3600)/60; 

    var formatted = ((HH < 10) ? ("0" + HH) : HH) + ":" + ((MM < 10) ? ("0" + MM) : MM) 
    $('#result').val(formatted); 

     }).keyup(); 

http://jsfiddle.net/UmwXW/2/

+0

上例中的日期格式是mm-dd-YYYY。我使用bootstap日期時間選擇器,我希望日期格式爲dd-mm-YYYY。這將如何適用於這種格式。當我選擇first_date作爲01-10-2015 18:00和second_date作爲02-10-2015 18:37。它將(second_date - first_date)設置爲744:37。 – Mukesh