将日期与php中的mongoDB ISODate格式进行比较

vee*_*er7 4 php iso date mongodb

我在mongoDB中有一个字段,说birth_date哪个是ISODate格式的

ISODate("2013-08-15T23:00:00Z")
Run Code Online (Sandbox Code Playgroud)

在PHP中,我以字符串格式获取日期

"2013-08-10"

我想要的所有数据birth_date都大于2013-08-10

为此,我有一个代码

$inputDate = "2013-08-10";
$dateFilter = array("\$gte",$inputDate); //works well when birth_date field is normat date string like "2013-08-16" but doesn't work with ISODate format as above
$dateRangeQuery = array("birth_date" => $dateFilter);
Run Code Online (Sandbox Code Playgroud)

生成{"birth_date":{"$gte":"2013-08-10"}}未正确过滤数据的查询.

以下代码片段也无法正常工作

$dateFilter = array("\$gte",date("c", $inputDate)); 
Run Code Online (Sandbox Code Playgroud)

生成查询

{"birth_date":{"$gte":"2013-08-10T00:00:00+05:30"}}

那么这也行不通

$dateFilter = new MongoDate($inputDate)
Run Code Online (Sandbox Code Playgroud)

生成查询

{"birth_date":{"$gte":{"sec":2013,"usec":0}}}
Run Code Online (Sandbox Code Playgroud)

请建议:)

vee*_*er7 9

正确的方法是使用strtotime

$dateFilter = new MongoDate(strtotime($inputDate))

PHP手册中的MongoDate类