【问题标题】:PHP DateTime() date issue [duplicate]PHP DateTime()日期问题[重复]
【发布时间】:2013-07-23 13:55:03
【问题描述】:
$now = new DateTime();
print_r($now);
print $now->date; // print the current date

但是如果 print_r($now);评论是否显示错误?

$now = new DateTime();
print $now->date; // Notice: Undefined property: DateTime::$date in

【问题讨论】:

  • 成员函数/属性DateTime中没有定义date
  • 请不要使用无证属性,否则会发生坏事。

标签: php


【解决方案1】:

这个类中没有这样的属性。改用格式化函数:

echo $date->format('d.m.Y H:i:s');

http://www.php.net/manual/en/datetime.format.php

【讨论】:

    【解决方案2】:

    这是bug in PHP(我不确定哪些版本会受到影响)。

    DateTime没有date 属性,但在其上调用 print_r 会创建一个看起来像存在的“隐藏”属性(它与 print_r 一起显示)但实际上不是(你无法获得它的价值)。

    而不是这个,使用DateTime::format 以您想要的任何格式获取日期值。

    【讨论】:

    • @downvoter:你自己测试过吗?因为我知道我是对的。
    • 嗯,这是正确的......但我相信这也是一个骗局:)
    • @Jack:是的,我发现了欺骗和错误,CVed 和链接。但是,嘘。
    • 我确实知道无法访问“日期”属性,但我不知道这是一个错误。 +1
    • @Benz Derick Rethans 会告诉你这是设计使然 ;-)
    【解决方案3】:

    当您想使用DateTime 对象打印日期时,请使用以下方法:

    $Date = new DateTime();
    $Date->format('d/m/Y H:i');
    

    以下页面可以帮助您格式化输出:

    http://php.net/manual/en/function.date.php

    【讨论】:

      猜你喜欢
      • 2014-11-04
      • 1970-01-01
      • 2015-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多