如果日期> curDate返回错误的结果,为什么?

时间:2015-05-17 13:20:19

标签: php html mysql sql

考虑下面的表格,它类似于我在db中的表格

team1  team2  event_date
liverp southa  2015-05-22
cryst playmo 2015-05-22
manu ashton 2015-05-22

如果事件尚未开始,我想显示有关该事件的信息,但是如果事件已经完成,我想显示消息事件已经完成

我提出了这个非常简单的解决方案

$curDate = date('Ymd');
$eventDateCheck=$row['event_date'];
   if($eventDateCheck < $curDate){
            echo '<h1> CURRENT ROUND ALLREADY STARTED</h1>';
    }
    else{
//do stuff

$curDate为我提供了正确的数据2015-05-17,事件$eventDateheck为我提供了正确的数据2015-05-22

然而它仍然跳到事件已经开始而不是上面代码的其他部分?我在这里缺少什么?

2 个答案:

答案 0 :(得分:2)

您正在比较

 '2015-05-22' < '20150517'

尝试使用

$curDate = date('Y-m-d');

以与MySQL使用的相同类型的字符串格式获取$ curDate值。

答案 1 :(得分:0)

您可以使用 strtotime(字符串$ time)将它们转换为可比较的格式(如时间戳),这将&#34;将任何英文文本日期时间描述解析为Unix时间戳。 &#34;

在你的情况下,这将是:

if(strtotime(date('Y-m-d')) > strtotime($row['event_date']))
{
    // do somehting
}