我正在尝试访问此对象的属性:
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"
当然第二个错误对我来说更有意义我尝试应该工作的第一种方式......?知道发生了什么事吗?
答案 0 :(得分:2)
date
属性通常不存在于DateTime
对象中。它仅由print_r
或var_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');