在我的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'});
但我似乎无法弄明白。 任何帮助将不胜感激。
答案 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();