尝试访问DateTime对象以检索日期属性

时间:2016-08-02 16:47:35

标签: php

我正在尝试访问此对象的属性:

    object(DateTime)#321 (3) {
  ["date"]=>
  string(26) "2016-08-02 12:45:01.000000"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(13) "Europe/London"
}

我试过这个:

$boo = aboveObject;
$boo->date;

我收到此错误:

 "Notice: Undefined property: DateTime::$date"

我也试过这个:

$foo = aboveObject;
$foo['date']

我收到此错误:

"Error: Cannot use object of type DateTime as array"

当然第二个错误对我来说更有意义我尝试应该工作的第一种方式......?知道发生了什么事吗?

2 个答案:

答案 0 :(得分:2)

date属性通常不存在于DateTime对象中。它仅由print_rvar_dump添加,以便向您显示对象的内容。你可以这样做:

$boo = new DateTime;
echo $boo->date;

通知:未定义属性",然后:

$boo = new DateTime;
print_r($boo);        // or var_dump($boo);
echo $boo->date;

将成功回显添加的日期属性。

然而,显然是获得此"属性的正确方法。您应该像其他人建议的那样使用format方法以您想要的任何格式输出日期。

答案 1 :(得分:1)

您可以通过这种方式获取日期:

 $dateObj = new DateTime();
 echo $dateObj->format('Y-m-d H:i:s');