В настоящее время я сделал функцию, которая по временной метке показывает оставшиеся часы, минуты и секунды. Но когда элемент заканчивается более чем через 24 часа, она должна показывать пример 48 часов и не сбрасывать его. Как я могу это сделать?

У меня уже есть дни, но я должен быть только в часах, минутах и секундах, например. 76 часов, 20 минут и 20 секунд.

    $time = strtotime($row['start_date']) - time();

    $days = floor($time / (60 * 60 * 24));
    $time -= $days * (60 * 60 * 24);

    $hours = floor($time / (60 * 60));
    $time -= $hours * (60 * 60);

    $minutes = floor($time / 60);
    $time -= $minutes * 60;

    $seconds = floor($time);
    $time -= $seconds;


    $hours = ($hours<10) ? "0" . $hours : $hours;
    $minutes = ($minutes<10) ? "0" . $minutes : $minutes;
    $seconds = ($seconds<10) ? "0" . $seconds : $seconds;

Ответы (1)

$days = floor($time / (60 * 60 * 24));
$time -= $days * (60 * 60 * 24);

Ваш код удаляет часть дня из метки времени, вот почему.

2022 WebDevInsider