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

时间:2017-04-19 19:20:01

标签: php mongodb mongodb-query

在我的php应用程序中,我做了一个db查询,它从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']);

但是这会返回错误:

  

不能使用MongoDB \ BSON \ UTCDateTime类型的对象作为数组

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

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

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

3 个答案:

答案 0 :(得分:1)

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

代码如下所示:

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

答案 1 :(得分:0)

具有数字名称的对象属性需要作为由大括号括起的字符串引用:

State

答案 2 :(得分:0)

尝试

$value->playbook_run_date->__toString();