Как я могу сравнить объект DateTime с доктриной 2.0 DateTime - PullRequest
0 голосов
/ 26 января 2012

Я работаю над фильтром запроса, который будет возвращать сообщения, которые находятся между определенными датами, однако я не могу найти способ сравнить объект PHP DateTime с датой и временем в базе данных.Компонент фильтра дает мне дату в формате m / d / Y, а дата и время в базе данных - в формате m / d / YH: i: s.

$posted_before = \DateTime::createFromFormat("m/d/Y", $posted_before);
$posted_before->format("m/d/Y H:i:s");
$query .= " AND t.posted_date >= $posted_before"; 

Я использую Doctrine 2.0

Ответы [ 2 ]

1 голос
/ 26 января 2012

Похоже, вы вводите объект в вашу строку, попробуйте сохранить возвращаемое значение format();.Также отформатируйте дату в соответствии с MySQL форматированием:

$posted_before = \DateTime::createFromFormat("m/d/Y", $posted_before);
$posted_date = $posted_before->format("Y-m-d H:i:s");
$query .= " AND t.posted_date >= $posted_date"; 
0 голосов
/ 11 июня 2018

нет необходимости форматировать объект Datetime, вы можете использовать метод setParameter:

$qb->where('t.posted_date >= :minDatetime');
$qb->setParameter('minDatetime', $minDatetime);
...