PHP

Секунды в минуты, часы, дни

Две PHP функции для конвертирования секунд в дни, часы, минуты.

1

Результат в массиве

function secToArray($secs)
{
    $res = array();
    
    $res['days'] = floor($secs / 86400);
    $secs = $secs % 86400;
    
    $res['hours'] = floor($secs / 3600);
    $secs = $secs % 3600;

    $res['minutes'] = floor($secs / 60);
    $res['secs'] = $secs % 60;

    return $res;
}

print_r(secToArray(167));
PHP
Array(
    [days] => 0
    [hours] => 0
    [minutes] => 2
    [secs] => 47
)
2

Вывод строкой

Понадобится функция для склонения числительных.

/**
 * Склонение существительных после числительных.
 */
function num_word($value, $words, $show = true) 
{
    $num = $value % 100;
    if ($num > 19) { 
        $num = $num % 10; 
    }
    
    $out = ($show) ?  $value . ' ' : '';
    switch ($num) {
        case 1:  $out .= $words[0]; break;
        case 2: 
        case 3: 
        case 4:  $out .= $words[1]; break;
        default: $out .= $words[2]; break;
    }
    
    return $out;
}

function secToStr($secs)
{
    $res = '';
    
    $days = floor($secs / 86400);
    $secs = $secs % 86400;
    $res .= num_word($days, array('день', 'дня', 'дней')) . ', ';
    
    $hours = floor($secs / 3600);
    $secs = $secs % 3600;
    $res .= num_word($hours, array('час', 'часа', 'часов')) . ', ';

    $minutes = floor($secs / 60);
    $secs = $secs % 60;
    $res .= num_word($minutes, array('минута', 'минуты', 'минут')) . ', ';

    $res .= num_word($secs, array('секунда', 'секунды', 'секунд'));
    
    return $res;
}

echo secToStr(167);      // 0 дней, 0 часов, 2 минуты, 47 секунд
echo secToStr(12345678); // 142 дня, 21 час, 21 минута, 18 секунд
PHP
04 июля 2019

Другие публикации

File_put_contents сохраняет текст в файл в кодировке ANSI, чтобы изменить ее на UTF-8 нужно к началу текста приписать...
Сборник регулярных выражений с примерами на PHP для проверки данных из полей форм.
Задача: появилась необходимость сделать якорное меню у ранее опубликованных статей, статей много, вручную дополнять их...
Если нужно запретить выполнение скриптов php в директории, например в uploads, нужно поместить туда файл .htaccess со...