Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Определение промежутка времени прошедшего с определённого события
 
 автор: Axxil   (26.07.2006 в 21:17)   письмо автору
 
 

Вроде легко, а вот нет такой функции в MYSQL блин.
А стандартными как-то не получается.
Нужно определить сколько прошло времени с определённой даты, хранящейся в формате timestamp до нынешнего момента unix_timestamp обязательно в формате YY:MM:DD HH:MM
так как счёт с этой даты пошёл на года уже...
Как бы это организовать?

   
 
 автор: cheops   (26.07.2006 в 21:34)   письмо автору
 
   для: Axxil   (26.07.2006 в 21:17)
 

Преобразуйте timestamp в UNIXSTAMP и проделайте то же самое в функцией NOW() - разница даст число секунд прошедших с временной метки. Для этого используется функция UNIX_TIMESTAMP().
SELECT UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(puttime) FROM tbl

А далее преобразуйте полученное время при помощи DATE_FORMAT или средствами PHP к нужному вам виду.

   
 
 автор: Axxil   (26.07.2006 в 22:09)   письмо автору
 
   для: cheops   (26.07.2006 в 21:34)
 

>А далее преобразуйте полученное время при помощи DATE_FORMAT или средствами PHP к нужному вам виду.
Вот в этом как раз и загвоздка.
Разница между датами получилась:
104926721 секунд.
Как теперь это преобразовать в лет/месяцев/дней/часов/минут

Подозреваю что никак, так как нет информации о високосных годах...

Чё-то mysqlовцы не доработали немного, такую нужную функцию не предусмотрели

   
 
 автор: CrazyAngel   (27.07.2006 в 01:35)   письмо автору
 
   для: 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;
?>


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

А как сделать чтоб правельно все было?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования