Php 如何从MongoDB对象中提取时间戳
在我的php应用程序中,我执行一个db查询,从mongodb返回一组文档。在遍历每个文档时,我试图提取时间戳并将其显示为Y-m-dh:i:s格式。但我甚至不知道如何提取它 我正在使用以下代码进行测试:Php 如何从MongoDB对象中提取时间戳,php,mongodb,mongodb-query,Php,Mongodb,Mongodb Query,在我的php应用程序中,我执行一个db查询,从mongodb返回一组文档。在遍历每个文档时,我试图提取时间戳并将其显示为Y-m-dh:i:s格式。但我甚至不知道如何提取它 我正在使用以下代码进行测试: var_dump($value->playbook_run_date); 输出/返回以下内容: object(MongoDB\BSON\UTCDateTime)#9 (1) { ["milliseconds"]=> string(13) "1486277081000"
var_dump($value->playbook_run_date);
输出/返回以下内容:
object(MongoDB\BSON\UTCDateTime)#9 (1) {
["milliseconds"]=>
string(13) "1486277081000"
}
我尝试将代码更改为如下所示:
var_dump($value->playbook_run_date['milliseconds']);
$temp = $value->playbook_run_date->toDateTime();
echo ("<td>".$temp->format('r') ."</td>");
但这会返回错误:
无法将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'});
但我似乎不明白。
如有任何帮助,将不胜感激。带有数字名称的对象属性需要被引用为一个由大括号包围的字符串:
var_dump($value->playbook_run_date->{'1'}['milliseconds']); // If 'milliseconds is an array key
var_dump($value->playbook_run_date->{'1'}->milliseconds); // If milliseconds is an object property
我找到了答案
代码如下所示:
var_dump($value->playbook_run_date['milliseconds']);
$temp = $value->playbook_run_date->toDateTime();
echo ("<td>".$temp->format('r') ."</td>");
$temp=$value->playbook\u run\u date->toDateTime();
echo(“$temp->format('r'));
试试看
我尝试了这两个示例,它们返回“Undefined property”错误消息