За последние 24 часа нас посетили 16744 программиста и 1621 робот. Сейчас ищет 1381 программист ...

Помогите часы перевести в дни в скрипте

Тема в разделе "Прочие вопросы по PHP", создана пользователем crystaltrumpet, 8 сен 2018.

  1. crystaltrumpet

    crystaltrumpet Новичок

    С нами с:
    8 сен 2018
    Сообщения:
    23
    Симпатии:
    0
    Буду благодарен любой помощи:
    Как сделать так чтобы результат выводился не в часах а если больше 24 часов то "дни-часы-минуты"
    Есть такой код:
    PHP:
    1. private function ConvertTime($val)
    2.     {
    3.         $time = (int)$val;
    4.         $m = floor($time / 60);
    5.         $h = floor($m / 60);
    6.         $m = $m - $h*60;
    7.         $s = $time - $m*60 - $h*60*60;
    8.        if($h != 0) return "$h ч $m мин $s сек";
    9.        if($m != 0) return "$m мин $s сек";
    10.        if($s != 0) return "$s сек";
    11.     }
    перед ним в переменную заносят такие данные:
    PHP:
    1. switch ($name)
    2.         {
    3.             case 'arte':
    4.                 return 60*60*24*30; // 30 дней
    5.             break;
    6.         }
    Еще раз спасибо. ДА прибудет с Вами сила!
     
    #1 crystaltrumpet, 8 сен 2018
    Последнее редактирование модератором: 8 сен 2018
  2. crystaltrumpet

    crystaltrumpet Новичок

    С нами с:
    8 сен 2018
    Сообщения:
    23
    Симпатии:
    0
    Задачку решил своими силами, я не программист и пришлось считать на бумажке, в голове такие формулы ну ни как не помещаются)
    не знаю насколько правильно и красиво изменил формулу, но работает)
    private function ConvertTime($val)
    {
    $time = (int)$val;
    $m = floor($time / 60);
    $h = floor($m / 60);
    $d = floor($h / 24);
    $h = $h - $d*24;
    $m = $m - ($d*24*60 + $h*60);
    $s = $time - $m*60 - $h*60*60 - $d*24*60*60;
    if($d != 0) return "$d дн $h ч $m мин $s сек";
    if($h != 0) return "$h ч $m мин $s сек";
    if($m != 0) return "$m мин $s сек";
    if($s != 0) return "$s сек";
    }