Разница между суммой часов и минут с использованием php - PullRequest
0 голосов
/ 14 апреля 2020

Я хочу рассчитать общее количество часов и минут разницы с другим общим количеством часов и минут, например:

$firsttotal = 181:33; ( 181 hours and 33 minutes)
$secondtotal = 315:00; (315 hours and 0 minutes)

, поэтому я хочу способ расчета его разницы, например

$difference = 134:07 (134 hours and 7 minutes is the correct answer)

Поскольку php strtotime не преобразует его, а также не работает php функция даты.

1 Ответ

1 голос
/ 14 апреля 2020

Ответ (на основе двух входов) 133:27, а не 134:07.

В PHP вы можете сделать следующее с минимальной проверкой данных.

// 181 hours and 33 minutes
$firsttotal = "181:33";
// 315 hours and 0 minutes
$secondtotal = "315:00";

// Convert to min.
// Assumes $str is a time in hhh:mm format only.
// For example, "181:33" is 181 hours and 33 min.
function toMin($str) {
    $tmp = explode(":",$str);
    return $tmp[1] + (60 * $tmp[0]);
}

// Return the difference in two min counts in HHH:MM format.
function diffToHHMM($min1,$min2) {
    $diff = $min2 - $min1;
    $h = floor($diff / 60);
    $m = ($diff % 60);
    return $h.":".$m;
}

$val1 = toMin($firsttotal); 
$val2 = toMin($secondtotal);

echo diffToHHMM($val1, $val2);
// Result: 133:27
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...