带有DateTime的PHP日历类

时间:2014-09-04 14:47:09

标签: php datetime calendar

我正在努力创造一个 Calendar class在其构造函数中使用new DateTime或留空以使用当前时间。

<?php
class Calendar
{
    public $dateTime = null;
    public function __construct($dateTime = new DateTime())
    {
        $this->dateTime = $dateTime;
        echo $this->dateTime->format('m-d-Y') . "\n";
    }
}
date_default_timezone_set('UTC');
$cal = new Calendar();
?>

但我一直得到这个:

解析错误:第5行/Users/nfior2/www/projects/companies/cortlandt/activities/cal.php中的解析错误

如果我改变第5行

public function __construct($dateTime = new DateTime())

使用int

public function __construct($dateTime=10)

并在不使用function __construct()的情况下稍微调整DateTime::format正文...它的效果与我预期的一样。

任何人都可以告诉我这里发生了什么,或者我如何能够找到它的底部?

1 个答案:

答案 0 :(得分:1)

您可以尝试以下代码:

<?php
class Calendar
{
    public $dateTime = null;
    public function __construct($dateTime = null)
    {
        $this->dateTime = (isset($dateTime)? $dateTime : new DateTime());
        echo $this->dateTime->format('m-d-Y') . "\n";
    }
}
date_default_timezone_set('UTC');
$test = new DateTime('2000-01-01');

$cal1 = new Calendar($test);
$cal2 = new Calendar();
?>