Список часов и минут подсчитывает общее количество часов и минут - PullRequest
0 голосов
/ 19 мая 2018

Можно ли как-нибудь рассчитать общее количество часов и минут в php;

У меня есть

$hours = array(
    'abc' => '02:30','def' => '02:40','efg' => '01:32'
);

значение, которое я получаю 02:30 м, вычисляя время начала и окончаниявремя и получение минут и преобразование в минуты означает, что если 2 часа, то это дает 240.

Нужно рассчитать количество часов и минут, используя php.

Я сделал с помощью разнесения ихв ":" и добавьте часы и минуты, если оно больше 60, затем добавьте 1 к часам, но в коде есть ошибка при создании отчетов в таблице Excel и не показывает правильное время.

Наконец при отображении данных с использованием даты («H: i», mktime (0,240));

Ответы [ 2 ]

0 голосов
/ 19 мая 2018

Вместо использования mktime() и date() проще (и более надежно) самостоятельно отформатировать минуты и часы:

$items = array(
    'abc' => '02:30','def' => '02:40','efg' => '01:32'
);

$minutes = 0;
foreach ($items as $item) {
    [$hour, $minute] = explode(':', $item, 2);
    $minutes += 60 * $hour + $minute;
}

return str_pad(floor($minutes / 60), 2, '0', STR_PAD_LEFT) 
    . ':' . str_pad($minutes % 60, 2, '0', STR_PAD_LEFT);

date() и mktime() завершатся ошибкой для диапазонов, превышающих 24часов и может быть непредсказуемым, когда задействован DTS.

0 голосов
/ 19 мая 2018

Попробуйте функцию strtotime() как:

$time = strtotime('2:30');

Она вернет вам метку времени, которую можно использовать для их отдельного добавления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...