为什么谷歌日历全天事件返回开始日期为今天与PHP

时间:2014-11-23 01:39:48

标签: php google-calendar-api

我正在使用Google日历api V3和PHP,我正在尝试获取活动的摘要,说明和开始日期。我的问题是最后一个元素:开始日期。当日历中的事件设置为"全天"事件,以下代码的响应为我提供了今天的日期以及查询的确切时间:

echo "<div id=Activite class=titre>", $event->getSummary(), "</div>\n";

$event_date = (new DateTime($event->getStart()->getDateTime()))->format('d/m/Y H:i');
echo "<div class=date_start><span style=color:yellow;>Start: </span>", $event_date, "</div>\n";

以下是返回内容的示例:

prise de photos des élèves
Start: 22/11/2014 18:30

从&#34; Google API Explorer&#34;中读取相同的输出,我得到:

start": {
"date": "2013-09-13"

这与我的情况完全不同。我做错了什么?

1 个答案:

答案 0 :(得分:4)

嗯,这里有答案。经过“ippi”的极好建议,我明白Google为事件使用了两个不同的变量:start ...“Date”/“DateTime”。对我有用的代码是这项工作,使代码能够识别它是否处理了一整天的事件:

if (($event->getStart()->getDate())!= NULL) {
    $event_date = (new DateTime($event->getStart()->getDate()))->format('d/m/Y');
} else {
    $event_date = (new DateTime($event->getStart()->getDateTime()))->format('d/m/Y H:i');
}