PDA

Просмотр полной версии : дата посещения


vorona
14.01.2010, 20:32
Дата последнего посещения пользователя записана в виде: 2010-01-14 17:53:21. Как проверить прошло 24 часа с даты его последнего посещения или нет?

GlooK
14.01.2010, 20:49
Дата последнего посещения пользователя записана в виде: 2010-01-14 17:53:21. Как проверить прошло 24 часа с даты его последнего посещения или нет?
Либо сохраняй дату изначально в unixtime или парсь дату:

<?php
$result ='2010-01-11 20:48:21';
preg_match('/[0-9]+\-[0-9]+\-([0-9]+) ([0-9]+)\:([0-9]+)\:[0-9]+/', $result, $temp);
if (date('d') > $temp[1]) {
if (date('H') >= $temp[2]) {
if (date('i') >= $temp[3]) {echo 'Прошло 24 часа!';}
}}
?>

как то так)

mr.The
14.01.2010, 20:57
парсь дату
FFFFUUUUUU!!!!1111
http://php.net/manual/en/function.strtotime.php

хотя иногда, всё-таки приходится парсить самому.

vorona
14.01.2010, 20:59
Дата имеет тип DATETIME. Можно её как-то корвертнуть в unixtime?

vorona
14.01.2010, 21:06
А если сохранять в UNIXTIME, то как тогда?

svesve
14.01.2010, 22:20
Не знаю как вы php.net читаете и читаете ли вообще

GMT time is useful for avoiding the daylight's savings issue. I had to use it to get a working date difference function:

Функция возращает разницу между двумя датами в днях

<?php
function dateDiff($date1, $date2) //returns the difference, in days, between two dates. avoids the daylight's savings issue by using GMT
{
$date1 = date_parse($date1);
$date2 = date_parse($date2);
return ((gmmktime(0, 0, 0, $date1['month'], $date1['day'], $date1['year']) - gmmktime(0, 0, 0, $date2['month'], $date2['day'], $date2['year']))/3600/24);
}
?>


date_parse - если не понятно что это то читай тут (http://php.net/manual/en/function.date-parse.php)

GlooK
14.01.2010, 22:36
Не знаю как вы php.net читаете и читаете ли вообще


Мы не ищем легких путей (с)

:)

Точнее мы вообще не ищем, мы только спрашиваем =) [b3]