Пребразование число в временной формат

Markus

Новичок
Пребразование число в временной формат

Добрый день.
Столкнулся вот с пробемой.
В базе есть столбец с длительностью mp3 файла.
Выглядит как число 304 хотя по идее это 5:04.
З0/6 = 5
5 и 4 получается 5:04
Как я понял число 304 преобразуется какойто функцией,
подскажите пожалуйста что за функция
 

Нечто

Психолог РНРClub
Markus, не можешь из секунд в минуты перевести?
Это должно помочь: в одной минуте - 60 секунд.
 

Markus

Новичок
:)
Так и написал же
З0/6 = 5
6 это 60 секунд,
а если 304/60 то получается 5,06 это не то
 

Нечто

Психолог РНРClub
То есть 0,02 - это критично?
Если у тебя написано, что длительность - 304 секунды, значит она такая и есть :)
 

Markus

Новичок
да не то все это, говорю же какойто же функцией это число получают, значит можно и обратно получить точное
 

Markus

Новичок
Данные с сайта спонсора, и его дамп базы для партнеров

-~{}~ 13.03.05 17:33:

А про 304 кто сказал?
В базе есть столбец с длительностью mp3 файла.
Выглядит как число 304 хотя по идее это 5:04.
 

Нечто

Психолог РНРClub
Ну и отлично. Ты даешь на 2 секунды больше музыки, чем спонсор, у которого долбанутый конвертер из секунд в минуты :)
 

Ilya

Новичок
ничего не понимаю....


304 секудны?

300 / 60 = 5 - кол-во минут..
и осталось 4 секунды...
в чем проблема то?
 

Markus

Новичок
проблема не в мне , в заказчике, придерется почему данные не точны как у спонсора

-~{}~ 13.03.05 17:44:

Ilya
не хочется измудрятся прибавлять, отнимать, хочется толкового выхода, я вполне уверен что конвертер какой то есть, непонятно зачем они в секунды все это обратили

использую

$a = bcdiv(304, 0.60);
получается 5,06 все равно не то
 

Ilya

Новичок
помойму проблема в тебе.
что у тебя не получается сделать, скажи?
и покажи.
как ты пытался получить из 304 секунд 5 минут и 4 секунды? :)
пошагам...
а мы поможем :)
 

Markus

Новичок
окей, тогда так
259 секунды
04:19 должно получится
250/60 =4,16 и еще 9, как сделать правильно, а то боюсь результата могут быть непредсказуемы
 

GeT

Новичок
304 = 300/60+4/60 = 5 минут + 4 секунды = 5:04

функцию тебе?
PHP:
function sec_to_string($sec)
{
	$min = (int)($sec / 60);
	$seconds = $sec % 60;
	$seconds = (!(int)($seconds / 10)) ? "0$seconds" : $seconds;
    return $min.":".$seconds;
}
echo sec_to_string(304);
вернет 5:04
Может, криво написал, я торопился =)

-~{}~ 13.03.05 17:54:

Markus
ТЕБЕ алгоритм описать???
Делим НАЦЕЛО на 60 - получаем минуты. Остаток от деления числа на 60 - это секунды. Добавляем ведущий ноль, если число секунд меньше 10. Все просто как 2 пальца...
Тебе с отрицательными написать? =)
 

Markus

Новичок
GeT
СПАСИБО!!!!!
не ожидал
буду теперь разбиратся как работает, скопировать вставить мне мало!! :)
 

GeT

Новичок
Markus
Я тебе алгоритм написал, чтоб ты не напрягался...
 

Ilya

Новичок
ладно.
идем на встречу...
самый глупый варинат реализации

PHP:
function foo( $sec ) {

$minutes = floor( $sec / 60 );
$seconds = $sec - ( $minutes * 60 );

$result_time = $minutes . ":" . $seconds;

return $result_time;

}
доработаешь сам.
 
Сверху