一尘不染

为什么我不能在PHP的DateTime类中访问DateTime-> date?是虫子吗?

php

DateTime如果我尝试运行以下代码,请使用该类:

$mydate = new DateTime();
echo $mydate->date;

我会找回此错误消息

注意:未定义的属性:DateTime :: $ date …

这没有意义,因为在var_dump()变量上运行时$mydate,它清楚地表明此属性存在并且可以公开访问:

var_dump($mydate);

object(DateTime)[1]
  public 'date' => string '2012-12-29 17:19:25' (length=19)
  public 'timezone_type' => int 3
  public 'timezone' => string 'UTC' (length=3)

这是PHP中的错误,还是我做错了什么?我正在使用PHP 5.4.3。


阅读 446

收藏
2020-05-26

共1个答案

一尘不染

这是一个已知问题。

有效的日期实际上是对var_dump()此处支持的副作用– derick@php.net

由于某些原因,您不应该能够访问该属性,但是var_dump无论如何都要显示它。如果您确实想以该格式获取日期,请使用该DateTime::format()函数。

echo $mydate->format('Y-m-d H:i:s');
2020-05-26