我想在集合中插入日期。
我使用类MongoDate
来创建日期对象:
$today = new MongoDate(strtotime(date('Y-m-d 00:00:00')));
问题是,一旦它在我的收藏中,日期是提前2小时。
例如,$today
此处应为2013-05-28 00:00:00
,但在数据库中一次为2013-05-27 22:00:00
。
我无法通过手动向时间戳添加2小时来解决此问题,因为我在查询中使用了日期。
运行Mongo的服务器的本地时间设置为我所在国家/地区的正确时间。
答案 0 :(得分:14)
$dt = new DateTime(date('Y-m-d'), new DateTimeZone('UTC'));
$ts = $dt->getTimestamp();
$today = new MongoDate($ts);
这很有效。
答案 1 :(得分:2)
删除旧文档并插入
$bill = array(
"_id" => 1,
"name" => "A",
"lastModified" => new MongoDate()
);
$collection->insert($bill);
答案 2 :(得分:0)
仅供参考:如果您需要为对象模型创建日期。
$date_created = new \MongoDB\BSON\UTCDateTime(time()*1000);