【问题标题】:Trying to access DateTime object to retrieve date property [duplicate]尝试访问 DateTime 对象以检索日期属性 [重复]
【发布时间】:2016-08-02 16:47:34
【问题描述】:

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

    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"

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

【问题讨论】:

    标签: php


    【解决方案1】:

    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 方法,正如其他人建议的那样,以您想要的任何格式输出日期。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-29
        • 2019-02-04
        • 1970-01-01
        • 2018-10-18
        • 1970-01-01
        • 2016-08-18
        相关资源
        最近更新 更多