Обработка переменных PHP/SQL

У меня есть следующие переменные:

$days_a = $array_total['days']; // This one display days
$hours_a = $array_total['hours']; // This one display hours
$minutes_a = $array_total['minutes']; // This one display minutes
$seconds_a = $array_total['seconds']; // This one display seconds

Эти переменные дают мне текущее время сеанса, здесь все работает.

Теперь проблема...

Я имею следующие переменные:

$days_f = $fetch_s['days'];
$hours_f = $fetch_s['hours'];
$minutes_f = $fetch_s['minutes'];
$seconds_f = $fetch_s['seconds'];

Они отображают время, которое пользователь вводил на веб-сайте ранее, они взяли значения из базы данных... Я сделал это для добавления текущих значений переменной сеанса к значениям в MySQL Db:

$days_2 = $days_a + $days_f; $hours_2 = $hours_a + $hours_f; $minutes_2 = $minutes_a + $minutes_f; $seconds_2 = $seconds_a + $seconds_f;

Но мне нужно, чтобы каждые 60 секунд добавляли от 1 до $ minutes_2, каждые 60 минут добавляли от 1 до $ часов_2 и каждые 24 часа добавляли от 1 до $ days_2

Например, если у меня есть 118 секунд, мне нужно, чтобы он добавлял от 1 до $ minutes_2 и устанавливал переменную $ seconds_2 на 58 и т.д....

Как это может быть сделано?

Я попробовал что-то вроде этого:

$seconds = $seconds_2 % 60; $minutes_3 = $seconds_2 / 60; $minutes = $minutes_3 % 60; $hours_3 = $minutes / 60; $hours = $hours_3 % 24; $days = $hours / 24; $days = (int)$days_int;

Но это не сработает... Кто-то знает, как это делается по-другому или по-другому?

Может ли кто-нибудь дать мне код? пожалуйста

1 ответ

По моему опыту, легче сделать эти вычисления, переведя их в UNIX-секунды на заданный момент времени, добавив секунды, чтобы перевести назад. Таким образом, система делает для вас всю дневную, часовую, минутную и секундную книжку. Используйте, например, mktime, чтобы конвертировать в UNIX-секунды (вы можете использовать существующие параметры времени), а также дату, strftime, чтобы конвертировать назад в день, час, минуты, секунды.

licensed under cc by-sa 3.0 with attribution.