gpt4 book ai didi

php - 将日期与laravel中的mongodb ISO日期进行比较

转载 作者:行者123 更新时间:2023-12-04 11:38:53 25 4
gpt4 key购买 nike

我正在将 mongodb 与 laravel 一起使用,并且我在 mongodb 集合中以 ISO 格式存储了日期,如下所示

"created_at" : ISODate("2021-09-03T05:48:44Z")
现在,我从用户那里获取日期并希望获取给定 2 个日期之间的记录。我用以下方法尝试过这个,但没有一个在我的情况下有效。
方法 - 1:
$stDate = date("Y-m-d\TH:i:s", strtotime('September 2, 2021');
$stDate = new MongoDate(strtotime($stDate));
$edDate = date("Y-m-d\TH:i:s", strtotime('September 7, 2021');
$edDate = new MongoDate(strtotime($edDate));
$query = $query->whereBetween('created_at', [$stDate, $edDate]);
方法 - 2:
$stDate = date("Y-m-d\TH:i:s", strtotime('September 2, 2021');
$stDate = new \MongoDB\BSON\UTCDateTime(strtotime($stDate));
$edDate = date("Y-m-d\TH:i:s", strtotime('September 7, 2021');
$edDate = new \MongoDB\BSON\UTCDateTime(strtotime($edDate));
$query = $query->whereBetween('created_at', [$stDate, $edDate]);
堆栈溢出本身已经有类似的问题,我也尝试了一些解决方案,但在我的情况下没有任何效果。没有任何错误生成,我也没有得到所需的输出。所以,任何人都可以请帮助我。提前致谢。

最佳答案

在 Laravel Carbon 包中可以帮助我们处理日期时间,所以只需使用 Carbon 函数来转换您的日期和时间,如下所示。

use Carbon\Carbon;

$stDate = new Carbon('September 2, 2021');
$edDate = new Carbon('September 7, 2021');
$query = $query->whereBetween('created_at', [$stDate, $edDate]);

关于php - 将日期与laravel中的mongodb ISO日期进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69160455/

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