[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как сделать вычисление времени
Гость_antonbergov
Допустим есть начальная дата: 2011-01-02 00:00:0
Есть конечная дата: 2011-01-21 12: 54: 32

Скрипт должен выводить: Прошел 21 день, 12 часов, 54 минуты 32 секуны



Спустя 9 минут, 7 секунд (21.01.2011 - 14:05) Evilsoul написал(а):
ты из базы дату берешь?

Спустя 7 минут, 38 секунд (21.01.2011 - 14:12) Renden написал(а):
Гость_antonbergov
Если из базы всеж TIMEDIFF() в запросе тебя спасет)

Забыл добавить что она выведет допустим 332:45:32 (триста триздать два часа ну и тд) и потом разберешь строку по часам минутам секундам уже используя php.

Спустя 1 день, 8 часов, 21 минута, 25 секунд (22.01.2011 - 22:34) antonbergov написал(а):
а если не с базы просто константа

Спустя 1 час, 39 минут, 6 секунд (23.01.2011 - 00:13) Evilsoul написал(а):
если константа то -

Спустя 3 дня, 19 часов, 21 минута, 41 секунда (26.01.2011 - 19:35) antonbergov написал(а):
Кто нибудь подскажет как это сделать?????

Спустя 15 минут, 15 секунд (26.01.2011 - 19:50) sharki написал(а):
SELECT DATE_FORMAT('2011-01-23 11:55:33', '%d.%m.%Y %H:%i') AS `date` FROM `table`

Как видишь тут вычисляется данные, ты формируй что тебе нужно, можешь даже несколько DATE_FORMAT('2011-01-23 11:55:33', '%i') AS `min` и т.д наклепать и вывести, а в скрипте ты проверяешь каждое из значения, а именно если диапазон времени входит в какую ту цифру, например if ($row['h'] <= 10) { 9 часов } else { 2 часа } и т.д, просто продумай логику вывода, сделай небольшую функцию и туда передавай значения, которые будут грамотно формироваться и выдавать нужный тебе код...

Спустя 2 часа, 2 минуты, 15 секунд (26.01.2011 - 21:52) antonbergov написал(а):
СДЕЛАЛ - ПРОЩЕ НЕ БЫВАЕТ - ПОЛЬЗУТЕСТЬ!

Данная функция выводит, сколько прошло времени с даты "2011-01-01 00:00:00":

25 дней, 20 часов, 50 минут, 54 секунд

 $endsecond=(time()-strtotime("2011-01-01 00:00:00"));

$end_days=floor($endsecond/(60*60*24));
$end_hour=floor(fmod($endsecond,60*60*24)/3600);
$end_minut=floor(fmod(fmod($endsecond,60*60*24),3600)/60);
$end_second=fmod(fmod(fmod($endsecond,60*60*24),3600),60);
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.