2012-08-08 29 views
0

我試試這個代碼如何減去jQuery中的時隙?

start_time = '08:15 AM' 
end_time = '03:45 PM' 
diff = end_time - start_time; 

只是我想在jQuery中減去時間。我已經在php中嘗試過,如下所示,它運行正常。 但不是在jQuery的

$st = strtotime("07:30 AM"); 
$edt = strtotime("06:15 AM"); 
echo round(abs($st - $edt)/60,2). " minute"; 
echo "<br>"; 

echo $timediff=($edt-$st)/60; 
+6

是什麼讓你覺得這將遠程工作,或與jQuery有什麼關係? – 2012-08-08 13:10:04

+0

還有就是類似的問題在這裏 http://stackoverflow.com/questions/2053057/doing-time-subtraction-with-jquery – Ravi 2012-08-08 13:11:30

回答

3

使用Date()對象。你不能在你的問題中減去字符串。

a = new Date(2012, 1, 2, 21, 1, 3, 5) 
b = new Date(2012, 2, 3, 22, 2, 3, 5) 
c = a - b // diff in milliseconds 
1

'08:00 AM''03:00 PM'是字符串,而不是數字,所以他們不能從彼此中減去。

通過使用日期對象來創建兩次的日期並將它們相減,您可以找到以小時爲單位的差異。

下面是日期構造函數中的參數:

new Date(year, month, day, hours, minutes, seconds, milliseconds) 

所以

var start_d = new Date(0,0,0,8), 
    end_d = new Date(0,0,0,11), 
    diff = end_d - start_d; 

或者,您可以使用日期的方法來定義時間

var start_d = new Date(), // makes a new date object of current time 
    end_d = new Date(), // same 
    diff; 

start.setHours(8); 
end.setHours(11); 

diff = end_d - start_d; 

這將返回以毫秒爲單位的差值,轉換爲小時數:

diff_hours = diff/1000/60/60; 
+0

修正這個問題的答案按照此鏈路一個鏈接:http:// developermaliya .wordpress.com/2012/10/25 /如何對減去-時隙合的jquery / – 2012-10-25 12:08:35