检查sql中的datetime是否为今天

de3*_*de3 1 php mysql datetime date

我有一个从SQL查询返回的日期(日期时间类型字段),并希望将它与今天的PHP日期进行比较.我已经咨询过php手册,有很多方法可以做到这一点.我终于想出了一个比较字符串的解决方案,但我想知道是否有任何"更好"(最佳实践),更清晰或更快的方法.这是我的解决方案:

// $sql_returned_date='2008-10-17 11:20:04'

 $today = new DateTime("now");
 $f_today=$today->format('Y-m-d'); //formated today = '2011-03-09'
 $sql_date=substr($sql_returned_date,0,9); //I get substring '2008-10-17'
 if($f_today==$sql_date)
 {
    echo "yes,it's today";
 }else{
    echo "no, it's not";
 }
Run Code Online (Sandbox Code Playgroud)

谢谢

Rya*_*iss 19

真的好吗?

//$mysql_date_string= '2013-09-20' OR '2013-09-20 12:30:23', for example

$my_date = new DateTime($mysql_date_string);

if($my_date->format('Y-m-d') == date('Y-m-d')) {
    //it's today, let's make ginger snaps
}
Run Code Online (Sandbox Code Playgroud)


Mar*_*ker 5

您可以将其纳入数据库查询返回的数据中:

SELECT `DateOnDB`,
       DATE(`DateOnDB`) = DATE(CURDATE()) AS isToday
  FROM `dbTable`
Run Code Online (Sandbox Code Playgroud)

并简单地使用PHP来测试isToday列的值