сравнить, если дата прошла - PullRequest
       6

сравнить, если дата прошла

0 голосов
/ 23 февраля 2012

Итак, у меня есть несколько событий (вечеринка), и у каждого есть дата, когда вечеринка будет, как я могу сравнить это с текущей датой?Мне нужно найти все события, которые прошли?Есть идеи?Я даже не знаю, с чего начать, я храню дату в mysql следующим образом: dd/mm/yy это простой текст, потому что я использую метабокс WP.

Любая помощь будет оценена.

Ответы [ 4 ]

2 голосов
/ 23 февраля 2012

Вы должны хранить свои даты в формате DATETIME и использовать

SELECT date FROM dates WHERE DATEDIFF(date,NOW()) <= 0;

Если вы настаиваете на сохранении очень плохой схемы базы данных, вы можете вместо этого сделать преобразование на лету

SELECT STR_TO_DATE(date,'%d/%m/%Y') AS adate WHERE DATEDIFF(adate,NOW()) <= 0
1 голос
/ 23 февраля 2012

Может быть хорошим кандидатом для strtotime, которое может преобразовать вашу дату в метку времени, которую легко сравнить с текущей меткой времени, сгенерированной функцией time ().

http://php.net/manual/en/function.strtotime.php

1 голос
/ 23 февраля 2012
// your db date format is dd/mm/yy (European). the American is mm/dd/yy 
$db_date_event = str_replace('/', '-', $db['date_event']); 
// when - or . is used in strtotime European d-m-y format is assumed    
$db_date_event = strtotime($db_date_event);

if (time() > $db_date_event)
{
    echo 'this event is in the past';
}

// To compare at day level: (each day is represented in the 0:00 hrs (day's begin)) 

if (mktime(0, 0, 0, date('n'), date('j'), date('Y')) > $db_date_event)
{
    echo 'this event is in the past';
}
0 голосов
/ 23 февраля 2012

Преобразование даты в метку времени Unix:

list($d,$m,$y)=explode("/",$datestring);
$date=mktime(0,0,0,$m,$d,$y);

, а затем сравнение с сегодняшним днем:

$today=mktime(0,0,0,date("m"),date("d"),date("Y"));

с использованием <, == или >:

if($date<$today)
{
     echo "Date is in the past";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...