SilverStripe 函数中变量生成的格式日期

Format date produced by variable in SilverStripe function

我有一个函数,用于从 SilverStripe 管理员获取一些事件数据,其中一个变量用于保存日期。我想格式化日期,但我现在是如何设置的,我看到每个事件的日期输出连续两次:

public function getCalendarEvents(){
    if(Director::is_ajax()){
        $allEvents = array();

        foreach(CalendarEvents::get() as $Event){
            $date = $Event->EventDate.date('m-d-Y');//this is the variable I want to format
            $title = $Event->EventTitle;
            $link = $Event->EventLink;
            $time = $Event->EventTime;

            if(!array_key_exists($date, $allEvents)){
            $allEvents[$date] = array(
                array($time, $title)
              );
            }
            else{
                $existingEvents = $allEvents[$date];
                array_push($existingEvents, array(
                    array($time, $title)
                ));
                $allEvents[$date] = $existingEvents;
            }
        }
        return json_encode($allEvents);
    }
    else{
      return CalendarEvents::get();
    }
}

此函数生成的示例是:

{"2015-07-0207-15-2015":[["18:00:00","Knowledge is Power"]],

如何编辑我的代码以防止日期显示两次?

$Event->EventDate.date('m-d-Y')

是不是两个字符串的串联?

$Event->EventDate(SS 日期)与 date('m-d-Y') 连接(此 php 日期)

也许你应该做...

$date = date('m-d-Y',strtotime($Event->EventDate))