PHP操作MongoDB的日期与时间处理

发布时间:2024-09-12 13:42:44 作者:小樊
来源:亿速云 阅读:93

在 PHP 中操作 MongoDB 的日期和时间,你需要使用 MongoDB\BSON\UTCDateTime 类。这个类用于表示 BSON 中的 UTC 日期时间类型。

以下是一些使用 PHP 操作 MongoDB 日期和时间的示例:

  1. 插入当前日期和时间:
<?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";
  1. 查询特定日期范围内的文档:
<?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";
}
  1. 更新文档的日期和时间字段:
<?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() 方法格式化日期和时间。

推荐阅读:
  1. PHP中怎么执行C++程序
  2. PHP如何实现do...while循环

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php

上一篇:MongoDB与PHP的兼容性问题探讨

下一篇:MongoDB性能调优在PHP中的实践

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》