Этот вопрос закрыт для ответов, так как повторяет вопрос Есть ли пакет в composer который добавляет словесные склонения дней к числу?
SHKD
@SHKD

Как сделать склонения времени в php?

function time_since($sestime) {
    global $cfgrow;

    $since = time() + (3600 * $cfgrow['time_offset']) - $sestime;
    $chunks = array(
        array(60 * 60 * 24 * 365, 'лет'),
        array(60 * 60 * 24 * 30, 'месяцев'),
        array(60 * 60 * 24 * 7, 'недель'),
        array(60 * 60 * 24, 'дней'),
        array(60 * 60, 'часов'),
        array(60, 'минут'),
        array(1, 'секунд')
    );

    for ($i = 0, $j = count($chunks); $i < $j; $i++) {
        $seconds = $chunks[$i][0];
        $name = $chunks[$i][1];
        if (($count = floor($since / $seconds)) != 0) {
            break;
        }
    }

    $print = ($count == 1) ? '1 ' . $name : "$count {$name}";
    return $print;
}


Как изменить функцию так, чтобы время отображалось с падежами?
  • Вопрос задан
  • 328 просмотров
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
function declination(int $num, array $declinations) {
    return (intdiv($num % 100, 10) === 1)
        ? $declinations[0]
        : $declinations[[0, 1, 2, 2, 2, 0, 0, 0, 0, 0][$num % 10]];
}

print declination(123, ['минут', 'минута', 'минуты']);
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы