2012-09-11 51 views
-6

我得到了這種格式的時間:「192:40」 192 =小時,40 =分鐘。從小時減去不在時間格式在php

可以說,我想。減去「02:30」小時,答案是「190:10」 ..

有什麼辦法做這件事? 謝謝!

+0

我不知道如何做到這一點在PHP中,我在mysql中一旦做到了這一點... – user1424332

回答

3

使用explode()到時/分片分開,然後做數學題自己:

list($hour, $min) = explode(':', "192:40"); 
list($hour_sub, $min_sub) = explode(':', "02:30"); 
$result = ($hour - $hour_sub) . ':' . ($min - $min_sub); 
echo $result; 

will print

190:10 

如果時間是環繞,($min - $min_sub)將爲負。爲了說明這一點,可以使用如下:

list($hour, $min) = explode(':', "192:40"); 
list($hour_sub, $min_sub) = explode(':', "02:30"); 
$hour = $hour - $hour_sub; 
$min = $min - $min_sub; 
if($min < 0) { 
    $min = 60 + $min; // Note $min is negative 
    $hour--; // Decrement hour 
} 
$result = $hour . ':' . $min; 
+0

除了一些瘋狂的打破,從-the-開始數學,爲什麼不建議mktime()和/或DateTime? –

+0

這對我來說似乎很簡單直接? – nickb