|
|
|
|
|
для: MHz
(02.04.2013 в 16:15)
| | Спасибо большое, буду смотреть. | |
|
|
|
|
|
|
|
для: MihailGT
(02.04.2013 в 15:20)
| |
<?php
$Interval = date_diff (date_create ('25.03.2013 11:01'), date_create (), TRUE);
echo ($Interval->format('%d дней, %h часов, %i минут назад'));
/* 8 дней, 5 часов, 12 минут назад */
|
Так сказать без велосипедов)
А вообще я не понял что нужно автору разность дат посчитать или вообще в целом организовать отслеживание времени посещений) | |
|
|
|
|
|
|
|
для: MihailGT
(02.04.2013 в 15:36)
| | А вы как думаете, что удобнее сравнивать - временную метку в секундах, из которой можно получить все остальное, или же заниматься вот этим:
mktime(date("H"),date("i"),date("s"),date("n"),date("j"),date("Y"));
а потом далее еще не понятно чем и зачем?
Если сравнение производить РНР функциями, то требуется только одно выражение:
<?
echo time() - $qyery['time'] <= $online ? 'Онлайн' : 'Последнее посещение ' . date('format', $qyery['time']);
| где $qyery['time'] время последнего посещения в формате unixtimestamp из базы, а $online, это время в секундах которое считается как время нахождения в пользователя в онлайн режиме.
Такой же ответ можно вернуть уже непосредственно запросом к базе. | |
|
|
|
|
|
|
|
для: MihailGT
(02.04.2013 в 15:20)
| | ну это:
mktime(date("H"),date("i"),date("s"),date("n"),date("j"),date("Y"));
|
аналогично
этому
| |
|
|
|
|
|
|
|
для: confirm
(02.04.2013 в 15:29)
| | А какой в php формат удобный для сравнения?
P.s. арифметика в три строчки. Да и я нигде не утверждаю, что мой код претендует на самый рациональный, просто как вариант. | |
|
|
|
|
|
|
|
для: MihailGT
(02.04.2013 в 15:20)
| | Да... Время последнего посещения (а это будет время последнего запроса страниц) храним в базе. Из базы можно вернуть время уже в формате удобном для сравнения, даже еще больше, из не ее можно вернуть уже готовый результат "если А, то онлайн, если В, то разницу времени".
Вы такую арифметику предлагаете, что просто кровь стынет ) | |
|
|
|
|
|
|
|
для: Jaroslav
(31.03.2013 в 15:36)
| | Ну можно посчитать кол-во прошедших секунд.
В базу или в файл при выходе записываем последнее посещение в секундах.
mktime(date("H"),date("i"),date("s"),date("n"),date("j"),date("Y"));
|
Дальше считаем разницу между текущим временем и сохраненным.
$date1 = /* то что забрали из базы */;
$date2 = mktime(date("H"),date("i"),date("s"),date("n"),date("j"),date("Y"));
$razn = $date2 - $date1;
|
Дальше считаем делением дни, часы и минуты, например:
$days = floor($razn/86400);
$hours = floor(($razn-86400*$days)/3600);
$mins = floor(($razn-86400*$days-3600*hours)/60);
|
Типа того.. | |
|
|
|
|
|
|
|
для: Jaroslav
(01.04.2013 в 12:29)
| | DateTime
DateTime::diff ()
DateTime::format ()
Все что потребуется, все готовое, стандартное) и думать не надо | |
|
|
|
|
|
|
|
для: confirm
(01.04.2013 в 12:35)
| | благодарю, хорошо подсказали )) | |
|
|
|
|
|
|
|
для: Jaroslav
(01.04.2013 в 12:29)
| | Работа с датой/временем, это набор стандартных функций в РНР. Остается только определиться какое время считать "онлайн". | |
|
|
|
|