PHP访问DateTime对象属性

时间:2018-03-29 11:10:49

标签: php object

DateTime对象获取日期时遇到问题。我使用像print_r($value->created_at)这样的代码,它显示了我

DateTime Object 
( 
    [date] => 2018-03-10 12:53:18.000000
    [timezone_type] => 1 
    [timezone] => +02:00 
) tablet

现在如何获得此[date]?我尝试了$value->created_at->date$value->created_at["date"]之类的不同方法,但它无法解决问题。

3 个答案:

答案 0 :(得分:3)

[]中的名称是对象属性的名称,所以

$value->created_at->date
$value->created_at->timezone_type
$value->created_at->timezone

是您可以使用的唯一属性

实施例

$d = new DateTime('now');
print_r($d);

echo $d->date . PHP_EOL;
echo $d->timezone_type . PHP_EOL;
echo $d->timezone . PHP_EOL;

结果:

DateTime Object
(
    [date] => 2018-03-29 11:17:19.000000
    [timezone_type] => 3
    [timezone] => UTC
)
2018-03-29 11:17:19.000000
3
UTC

如果您想将日期转换为特定格式,则可以使用此类->format()方法

echo $d->format('d/m/Y h:s');

结果

29/03/2018 11:37

答案 1 :(得分:2)

这是\DateTime对象http://php.net/manual/en/class.datetime.php

您可以使用format方法获取var_dumping时日期的字符串表示形式:

$value->created_at->format(\DateTime::ISO8601);

请注意,我使用了ISO8601格式,您可以提供所需的任何格式字符串,也可以使用其中一个预定义字符串,具体取决于您希望如何使用此字符串。

答案 2 :(得分:0)

使用这种方式,

$date = $value->created_at;
echo $date->format('Y-m-d');