在 mongodb 中插入日期

2022-08-31 00:25:26

我想在收藏夹中插入日期。我使用该类来创建日期对象:MongoDate

$today = new MongoDate(strtotime(date('Y-m-d 00:00:00')));

问题是,一旦它在我的收藏中,日期就会提前2小时。

例如,这里应该是,但一旦进入数据库,它就是 。$today2013-05-28 00:00:002013-05-27 22:00:00

我无法通过手动将2小时添加到时间戳来解决此问题,因为我在查询中使用日期。

运行Mongo的服务器的本地时间设置为我国家/地区的正确时间。


答案 1

这适用于mongodb的新php版本:

new MongoDB\BSON\UTCDateTime((new DateTime($today))->getTimestamp()*1000)

答案 2
$dt = new DateTime(date('Y-m-d'), new DateTimeZone('UTC'));
$ts = $dt->getTimestamp();
$today = new MongoDate($ts);

这是有效的。


推荐