一个简短而简单的问题,我无法真正找到答案。
在程序PHP中我可以回复一个日期
echo date('Y-m-d'); ?>
在面向对象的PHP中,我必须使用两行
$now = new DateTime();
echo $now->format('Y-m-d');
是否可以在一行中完成此操作?
答案 0 :(得分:12)
echo (new DateTime())->format('Y-m-d');
答案 1 :(得分:1)
您可以使用date_create
功能:
echo date_create()->format('Y-m-d');
date_create
与new DateTime()
类似。
答案 2 :(得分:0)
您可以尝试这种方式:
echo $date = new DateTime('2016-01-01');
面向对象的风格:
<?php
try {
$date = new DateTime('2000-01-01');
} catch (Exception $e) {
echo $e->getMessage();
exit(1);
}
echo $date->format('Y-m-d');
?>
程序风格:
<?php
$date = date_create('2000-01-01');
if (!$date) {
$e = date_get_last_errors();
foreach ($e['errors'] as $error) {
echo "$error\n";
}
exit(1);
}
echo date_format($date, 'Y-m-d');
?>