用于预告

时间:2015-11-06 05:49:57

标签: php datetime

我这里有一个简单的代码,可将DateTime格式转换为Y-m-d。这是我的代码:

$var = '2015-11-06';

$images = $db->query("SELECT * FROM images");

foreach ($images as $i) {
  $created_at = $i['created_at'];
}

$date = new DateTime($created_at);
$newDate = $formattedDate->format('Y-m-d');

我的数据库中的日期格式如下(2015-11-06 03:07:15)。

我想要做的是让所有值等于$var中的$newDate,并使用foreach来回显所有相等的值。我怎么可能这样做?

2 个答案:

答案 0 :(得分:1)

我不确定你在问什么,但也许就是这样。你必须在循环中进行格式化。

foreach ($images as $i) {
    $date = new DateTime($i['created_at']);
    $dateFormatted = $date->format('Y-m-d');
    if ($dateFormatted == $var) {
        echo $dateFormatted;
    }
}

您也可以在数据库查询中执行此操作:

$images = $db->query("SELECT * FROM images 
                    WHERE created_at BETWEEN '$var 00:00:00' AND '$var 23:59:59'");

答案 1 :(得分:-1)

使用strtotime将日期转换为unix时间戳并比较它。