我如何比较PHP中的日期与不同的格式Y / m / d和Y / m / d H:M存储在数据库中?

时间:2014-07-31 11:11:37

标签: php date datetime

我有这样的查询:

$monitor = $db->query("SELECT * FROM event,  step WHERE step = idstep ");
$countquery = $monitor->rowCount();
if ($countquery == 0){
    echo "no records";
}else{
    echo "show records";

我想成为:

$today = ("Y/m/d");
$monitor = $db->query("SELECT * FROM event,  step WHERE step = idstep AND datastep = $today");
$countquery = $monitor->rowCount();
if ($countquery == 0){
    echo "no records";
}else{
    echo "show records";

在我的数据库中,datastep存储如下:Y / m / d H:M,当我比较2个日期时,我没有结果。 我不想考虑时间和分钟。 如何在不更改数据库中的字段datastep的情况下比较日期? 我想以Y / m / d格式转换datastep。

1 个答案:

答案 0 :(得分:0)

使用DateTime对象。

$today = new DateTime("2014/07/31");

你可以随意格式化它:

$today->format("Y/m/d H:M");

但我认为你也可以在mysql中使用DATE()

SELECT * FROM event, step WHERE step = idstep AND DATE(datastep) = DATE('$today');
mysql中的

DATE()函数将仅返回一天,这样DATE('2014/07/31 12:00')将等于DATE('2014/07/31')