Ive checked the leads here and have not found the right solution,
<?php
$mysqldate = $row['callbackdate'];
$phpcurrentdate = strtotime( $mysqldate );
if ( $phpcurrentdate == date("Y-m-d") ) {
echo $row['last_name'];
}else{
echo "Nothing";
}
?>
sql中的日期字段是日期,格式为YYYY-mm-dd。总是被回复的答案是&#34;没什么&#34;。我知道这类问题有很多变化,但我没有找到这种类型的运气。我不是在寻找一个范围排序只是一个简单的匹配...而且数据$ row [&#39; callbackdate&#39;]正在运行,因为我测试了所有其他连接。
所以我很感激任何帮助!谢谢, 莱斯
答案 0 :(得分:1)
$mysqldate = "2017-08-28"; //example
$phpcurrentdate = DateTime::createFromFormat('Y-m-d', $mysqldate); //put your format
$today= new DateTime("now");
if ( $phpcurrentdate == $today ) {
echo 'last_name';
}else{
echo "Nothing";
}
答案 1 :(得分:1)
日期在数据库中以字符串形式存储。作为可能的解决方案是将日期格式化为例如:
$today = date('Y-m-d H:i:s');
$databaseDate = '2017-08-06 20:50:38';
var_dump(new DateTime($today) > new DateTime($databaseDate)) // returns true
var_dump(new DateTime($today) < new DateTime($databaseDate)) // returns false
另一种方法是使您的列在数据库中键入DateTime。这样,您只需将当前日期格式化为DateTime,然后就可以比较它们