-6

我得到了这种格式的时间:“192:40”192=小时,40=分钟。

假设我想减去“02:30”小时,所以答案将是“190:10”..

有什么办法吗?谢谢!

4

1 回答 1

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;

将打印

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;
于 2012-09-11T18:59:09.217 回答