


Задача на 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)/
h ttp://expange.ru/e/Секунды_в_дни-часы-минуты_%28PHP%29 пробел убрать