Top.Mail.Ru
Ответы
Аватар пользователя
10лет
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Задача на php получить целое количество дней, часов (только не от всех секунд а от остатка от дней), минут из секунд

(в секундах не дата! ( не unix timestamp)). А просто количество времени Скажем, 1 день 1 час 1 минута.
В общем из $s = 90060, необходимо получить ['days' => 1, 'hours' => 1, 'minutes' => 1]. Вот что у меня получилось:

function fDaysFromSec($s){
return floor($s / 86400);
}
function fHoursFromSec($s){
return floor($s / 3600);
}
function fMinutesFromSec($s){
return floor($s / 60);
}
function secondsByParts($s){
return array(
'days' => fDaysFromSec($s),
'hours' => fHoursFromSec($s % 86400),
'minutes' => fMinutesFromSec($s % 3600)
);
}

я уверен, что можно поступить изящней что ли) Всю ночь работал мозг уже плохо варит...

А в секунды так перевожу:

function toSeconds($days = 0, $hours = 0, $minutes = 0){
return (((($days * 24) + $hours) * 60) + $minutes) * 60;
}

может тоже есть (уверен что есть) готовая функция для этого.

И еще может кто посоветует иначе хранить кол-во времени (НЕ ДАТУ) в базе mysql, сейчас же просто секунды в Int(11)/

По дате
По рейтингу
Аватар пользователя
Мыслитель
10лет

h ttp://expange.ru/e/Секунды_в_дни-часы-минуты_%28PHP%29 пробел убрать