【发布时间】:2016-06-26 16:53:01
【问题描述】:
这是我的代码:
$date1 = new DateTime();
$date1->format('Y-m-d H:i:s');
echo $date1->date. ' while echoing date1';
它只回显“而回显 date1”,换句话说,$date1->date 是空的。
如果我像这样首先添加转储日期1:
$date1 = new DateTime();
$date1->format('Y-m-d H:i:s');
var_dump($date1);
echo $date1->date. ' while echoing date1';
我明白了
object(DateTime)[359]
public 'date' => string '2016-06-26 16:54:56.000000' (length=26)
public 'timezone_type' => int 3
public 'timezone' => string 'UTC' (length=3)
2016-06-26 16:54:56.000000 while echoing date1
这就是我想要的。这件事让我很生气,因为它完全出乎意料。
【问题讨论】:
-
var_dump($date1);正在输出 2016-06-26 16:54:56.000000 这就是它们不同的原因
-
var_dump()....:):) 删除并检查 -
我不确定这是否只是在询问为什么会发生这种情况,或者您是否想弄清楚如何使用 DateTime?您应该使用
echo $date1->format('Y-m-d H:i:s');而不是依赖$date属性。您必须查看 DateTime 类的代码,但我假设$date属性未由构造函数或格式方法填充。 -
我需要知道如何在不进行转储的情况下访问日期属性
-
php.net/manual/en/class.datetime.php 似乎没有
->date,所以我不明白为什么在第二个示例中会输出输出
标签: php