从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"]
之类的不同方法,但它无法解决问题。
答案 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');