我这里有一个简单的代码,可将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
来回显所有相等的值。我怎么可能这样做?
答案 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时间戳并比较它。