|
|
|
|
|
для: Axxil
(26.07.2006 в 22:09)
| |
<?php
$time = 104926721;
$_time['sec'] = $time%60;
$time -= $_time['sec'];
$_time['min'] = $time%60;
$time -= $_time['min'];
$_time['hours'] = $time%60;
$time -= $_time['hours'];
$_time['day'] = $time%24;
$time -= $_time['day'];
$_time['month'] = $time%30;
$time -= $_time['month'];
$_time['year'] = $time;
?>
|
Но будет работать не правельно так как число дней в месяцах разное, и високосные года
А как сделать чтоб правельно все было? | |
|
|
|
|
|
|
|
для: cheops
(26.07.2006 в 21:34)
| | >А далее преобразуйте полученное время при помощи DATE_FORMAT или средствами PHP к нужному вам виду.
Вот в этом как раз и загвоздка.
Разница между датами получилась:
104926721 секунд.
Как теперь это преобразовать в лет/месяцев/дней/часов/минут
Подозреваю что никак, так как нет информации о високосных годах...
Чё-то mysqlовцы не доработали немного, такую нужную функцию не предусмотрели | |
|
|
|
|
|
|
|
для: Axxil
(26.07.2006 в 21:17)
| | Преобразуйте timestamp в UNIXSTAMP и проделайте то же самое в функцией NOW() - разница даст число секунд прошедших с временной метки. Для этого используется функция UNIX_TIMESTAMP().
SELECT UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(puttime) FROM tbl
|
А далее преобразуйте полученное время при помощи DATE_FORMAT или средствами PHP к нужному вам виду. | |
|
|
|
|
|
|
| Вроде легко, а вот нет такой функции в MYSQL блин.
А стандартными как-то не получается.
Нужно определить сколько прошло времени с определённой даты, хранящейся в формате timestamp до нынешнего момента unix_timestamp обязательно в формате YY:MM:DD HH:MM
так как счёт с этой даты пошёл на года уже...
Как бы это организовать? | |
|
|
|
|