Продолжительность форматирования (время) в PHP

Вывод из api направлений У меня есть время, которое потребуется пользователю, чтобы добраться от a до b. На данный момент это минуты, но если путешествие пользователя займет 3 часа 20 минут, будет получено 200 минут.

Я бы хотел выяснить, что это больше 60 минут. затем разделите на 60 и сложите остаток, чтобы получить

3 часа 20 минут.

Как это сделать.

Marvelous

10
задан Robin Knight 30 June 2011 в 12:09
поделиться

1 ответ

Для тех, кому нужен он... Минуты к Промежутку времени - PT:

<?php
function pttime($time, $format)
{
    if ($time < 1) {
        return;
    }
    $hours = floor($time / 60);
    $minutes = ($time % 60);

    //is PT
    if ($format == 'PT') {

        //full hour
        if (($hours > 0) && ($minutes == 0)) {
            $time_result = 'PT' . $hours . 'H';
        }

        //hour and minutes
        if (($hours > 0) && ($minutes <> 0)) {
            $time_result = 'PT' . $hours . 'H' . $minutes . 'M';
        }

        //just minutes
        if ($hours == 0) {
            $time_result = 'PT' . $minutes . 'M';
        }
    }

    //it's not PT
    else {
        $time_result = sprintf("%02s", $hours) . ':' . sprintf("%02s", $minutes);

    }
    return $time_result;
}

//input in minutes and its outputs
echo pttime(155,'PT'); //output -> PT2H35M
echo pttime(52,'PT');  //output -> PT52M
echo pttime(60,'PT');  //output -> PT1H
echo pttime(60,'');    //output -> 01:00
0
ответ дан 3 December 2019 в 13:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: