Нужна помощь в работе с временем

Troy

Новичок
Нужна помощь в работе с временем

Привет всем.
в БД хранятся данные сколько времени чел провел на сайте в секундах.

Мне нужно эти секунды перевести в Годы - Месяцы - Дни - Часы - Минуты - Секунды.
То есть по мере увеличения времени проведенного на сайте появлялись сперва Секунды, потом Минуты, потом Часы, потом Дни, МЕсяцы и Годы.

Например:

Вы провели на сайте: 1г. - 2 мес. - 12 д. - 16 ч. : 12 мин. : 05 сек.

Можно ли как то сделать???

Я могу вывести только часы:минут:секунды, функцией mysql SEC_TO_TIME()

Заранее спасибо
 

hussar

In code we trust!
Насколько я понял из первого поста речь идет не о timestamp, а именно о количестве секунд проведенных на сайте. Хотя timestamp помоему был бы логичнее в данном случае.
 

Troy

Новичок
Да, время считается просто в секундах а не в таймстампах.

Ну скажем так, не на сайте а на игровом сервере.
Там система считает все в секундах и потом записывает в базу.

Можно ли сделать так как я описал в первом посте???

а то через SEC_TO_TIME() он будет считать 99 часов, 14 мин, 45 сек.

заранее спасибо.

Necromant, немогли бы вы объяснить для чего мне FROM_UNIXTIME

а вот MONTH & YEAR не работают почему то у меня.
 

Necromant

Новичок
http://dev.mysql.com/doc/refman/5.0...-functions.html
FROM_UNIXTIME(unix_timestamp), FROM_UNIXTIME(unix_timestamp,format)

Returns a representation of the unix_timestamp argument as a value in 'YYYY-MM-DD HH:MM:SS' or YYYYMMDDHHMMSS format, depending on whether the function is used in a string or numeric context. unix_timestamp is an internal timestamp value such as is produced by the UNIX_TIMESTAMP() function.
 

hussar

In code we trust!
Troy
а тебе принципиально эту проблему на уровне базы данных решать?
 

Troy

Новичок
hussar, нет. не принципиально.

Necromant, спасибо.

Фанат, вам тоже.

-~{}~ 26.04.06 12:01:

hussar, немог бы ты помочь как посредством пхп из сеукнд сделать ЧЧ:ММ:СС ???
 

Фанат

oncle terrible
Команда форума
60 секунд = 1 минута
60 * 60 = 1 час

Дальше сам поймешь?

-~{}~ 26.04.06 09:09:

Вообще, осваивай другие формы общения, отличные от "как сделать"?
Можно попробовать отвечать на вопросы, которые тебе задают.
можно приводить здесь свои размышления, и спрашивать - верны ли они.
попробуй.
Это бывает эффективнее, чем просто попрошайничать.
 

Troy

Новичок
Я делаю так:
Собираю все данный с трех таблиц, и суммирую их, потом чтобы получить часы делю секунды на 1 час, то есть 3600 сек.
С Этим проблем нет.
Просто немогу понять как получить минуты и секунды?

$time = floor(($srv1_obj->total + $srv2_obj->totals + $srv3_obj->totalz) / 3600);

Выводит часы.

$min = floor(($srv1_obj->total + $srv2_obj->totals + $srv3_obj->totalz) / 60);

Выводит минуты, но не так как мне нужно (в данном случаем ожет вывести 222 минут.).

Подскажите.
 

Troy

Новичок
спасибо огромное!!!
Понял :)


$total = $srv1_obj->total + $srv2_obj->totals + $srv3_obj->totalz;

$hour = floor($total / 3600);

$total_min = $total - ($hour * 3600);

$min = floor($total_m / 60);

$total_s = $total_m - ($min * 60);

$sec = floor($total_s);

Все работает!
 
Сверху