gpt4 book ai didi

php - 在php中比较日期与mongoDB ISODate格式

转载 作者:可可西里 更新时间:2023-11-01 09:08:22 25 4
gpt4 key购买 nike

我在 mongoDB 中有一个字段,比如 birth_date,它是 ISODate 格式,如

ISODate("2013-08-15T23:00:00Z")

在 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);

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

以下代码片段也不起作用

$dateFilter = array("\$gte",date("c", $inputDate)); 

生成查询

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

那这也行不通

$dateFilter = new MongoDate($inputDate)

生成查询

{"birth_date":{"$gte":{"sec":2013,"usec":0}}}

请建议:)

最佳答案

正确的方法是使用 strtotime

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

喜欢MongoDate class in PHP Manual

关于php - 在php中比较日期与mongoDB ISODate格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19023557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com