我有一个函数,旨在从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","知识就是力量"]],
我如何编辑我的代码,以防止日期被显示两次?
$Event->EventDate.date('m-d-Y')
是两个字符串的连接,不是吗?
$Event->EventDate (SS日期)与date('m-d-Y')(这个php日期)连接
也许你应该……
$date = date('m-d-Y',strtotime($Event->EventDate))