在 PHP 中操作 MongoDB 的日期和时间,你需要使用 MongoDB\BSON\UTCDateTime
类。这个类用于表示 BSON 中的 UTC 日期时间类型。
以下是一些使用 PHP 操作 MongoDB 日期和时间的示例:
<?php
require 'vendor/autoload.php'; // 引入 Composer 自动加载
use MongoDB\Client as Mongo;
use MongoDB\BSON\UTCDateTime;
$mongo = new Mongo();
$collection = $mongo->selectDatabase('test')->selectCollection('example');
$document = [
'name' => 'John Doe',
'createdAt' => new UTCDateTime(),
];
$result = $collection->insertOne($document);
echo "Inserted document with ID: " . $result->getInsertedId() . "\n";
<?php
require 'vendor/autoload.php'; // 引入 Composer 自动加载
use MongoDB\Client as Mongo;
use MongoDB\BSON\UTCDateTime;
$mongo = new Mongo();
$collection = $mongo->selectDatabase('test')->selectCollection('example');
// 创建查询条件
$from = new UTCDateTime(strtotime('-7 days') * 1000);
$to = new UTCDateTime();
$query = [
'createdAt' => [
'$gte' => $from,
'$lte' => $to,
],
];
// 查询并输出结果
$cursor = $collection->find($query);
foreach ($cursor as $document) {
echo "Name: " . $document['name'] . ", Created At: " . $document['createdAt']->toDateTime()->format('Y-m-d H:i:s') . "\n";
}
<?php
require 'vendor/autoload.php'; // 引入 Composer 自动加载
use MongoDB\Client as Mongo;
use MongoDB\BSON\UTCDateTime;
$mongo = new Mongo();
$collection = $mongo->selectDatabase('test')->selectCollection('example');
$filter = ['name' => 'John Doe'];
$update = [
'$set' => [
'updatedAt' => new UTCDateTime(),
],
];
$result = $collection->updateOne($filter, $update);
echo "Modified count: " . $result->getModifiedCount() . "\n";
注意:在这些示例中,我们使用了 MongoDB\BSON\UTCDateTime
类来处理日期和时间。当从 MongoDB 查询数据时,日期和时间将以 MongoDB\BSON\UTCDateTime
对象的形式返回。你可以使用 toDateTime()
方法将其转换为 PHP 的 DateTime
对象,然后使用 format()
方法格式化日期和时间。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。