使用DateTime作为PHP中的一行代码

时间:2016-10-10 08:29:04

标签: php date

一个简短而简单的问题,我无法真正找到答案。

在程序PHP中我可以回复一个日期

echo date('Y-m-d'); ?>

在面向对象的PHP中,我必须使用两行

$now = new DateTime();
echo $now->format('Y-m-d');

是否可以在一行中完成此操作?

3 个答案:

答案 0 :(得分:12)

echo (new DateTime())->format('Y-m-d');

答案 1 :(得分:1)

您可以使用date_create功能:

echo date_create()->format('Y-m-d');

date_createnew DateTime()类似。

直播示例:https://3v4l.org/gU2LK

答案 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');
?>