2012-08-08 60 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