Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将DateTime对象与doctrine 2.0 DateTime进行比较_Php_Doctrine - Fatal编程技术网

Php 如何将DateTime对象与doctrine 2.0 DateTime进行比较

Php 如何将DateTime对象与doctrine 2.0 DateTime进行比较,php,doctrine,Php,Doctrine,我正在处理一个过滤器查询,它将返回特定日期之间的帖子,但是,我无法找到一种方法来比较PHP DateTime对象和数据库中的DateTime。过滤器组件以m/d/Y格式提供日期,数据库中的日期时间以m/d/Y H:i:s格式提供 $posted_before = \DateTime::createFromFormat("m/d/Y", $posted_before); $posted_before->format("m/d/Y H:i:s"); $query .= " AND t.post

我正在处理一个过滤器查询,它将返回特定日期之间的帖子,但是,我无法找到一种方法来比较PHP DateTime对象和数据库中的DateTime。过滤器组件以m/d/Y格式提供日期,数据库中的日期时间以m/d/Y H: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

在我看来,您正在向字符串中注入一个对象,请尝试存储
format()的返回值。还可以根据格式设置日期的格式:

$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"; 

无需格式化Datetime对象,可以使用setParameter方法:

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

我试过你们的建议。我看到我正试图注入这个对象。然而,<和>比较似乎不适用于特定日期之前或之后的帖子。我打印了查询的那一部分,看起来是这样的:t.posted_date='01/25/2012 09:57:57'---请接受答案。