php - 如何从 MongoDB 对象中提取时间戳

标签 php mongodb mongodb-query

在我的 php 应用程序中,我执行一个数据库查询,从 mongodb 返回一堆文档。当我遍历每个文档时,我试图提取时间戳并将其显示为 Y-M-d h:i:s 格式。但此时我什至不确定如何提取它。

我正在使用这段代码进行测试:

    var_dump($value->playbook_run_date);

输出/返回这个:

object(MongoDB\BSON\UTCDateTime)#9 (1) {
  ["milliseconds"]=>
  string(13) "1486277081000"
}

我尝试将代码更改为如下所示:

  var_dump($value->playbook_run_date['milliseconds']);

但这会返回错误:

Cannot use object of type MongoDB\BSON\UTCDateTime as array

我一直在谷歌上搜索这个错误,并尝试了几个例子,包括:

var_dump($value->playbook_run_date->{'milliseconds'});
var_dump($value->playbook_run_date->1->{'milliseconds'});
var_dump($value->playbook_run_date[1]->{'milliseconds'});

但我似乎无法弄清楚。 任何帮助将不胜感激。

最佳答案

我找到了答案。 http://php.net/manual/en/mongodb-bson-utcdatetime.todatetime.php

代码如下:

$temp = $value->playbook_run_date->toDateTime();
echo ("<td>".$temp->format('r') ."</td>");

关于php - 如何从 MongoDB 对象中提取时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43504327/

相关文章:

php - 如何使用 Codeigniter 将具有不同值的输入插入到 mysql 数据库中?

java - 应为 BEGIN_ARRAY,但在第 1 行第 1 列处为 STRING : getting JSON from PHP to Java with Gson

c# - 将 FilterDefinition<TDocument> 转换为我可以在 mongo shell 中运行的常规 json mongo 查询

javascript - mongodb 更新 shell 命令应该是什么

javascript - 如何通过一个请求更新数组对象的多个字段?

mongodb - 执行聚合时有没有办法对多个文档的结果进行分组

php - 限制数组中的项目数

php - 文件类型为 create 的 symfony 4 表单集合实体

javascript - UnderscoresJS _.pluck 与 Meteor 用户集合的用法

node.js - NodeJS/MongoDB - 避免 mongoose 节省错误的当前时间