当我将事件添加到日历时,我对DateTime开始/结束有问题。
这是我使用的代码:
$event = new Google_Service_Calendar_Event(array(
'summary' => 'event title',
'description' => 'event description',
'start' => array(
'dateTime' => '2017-02-05T00:00:00-08:00',
'timeZone' => 'Europe/Paris',
),
'end' => array(
'dateTime' => '2017-02-05T00:00:00-13:00',
'timeZone' => 'Europe/Paris',
)
));
$event = $cal->events->insert($room_calendar_id, $event);
此代码应在我的日历中添加一个事件,从08:00开始,结束13:00。事实是,该活动从10:00开始添加,以15:00结束。它为DateTime增加了2个小时。
您认为错误来自时区吗?
您正在使时区偏移的本地时间混淆。
2017-02-05T00:00:00-08:00 => 2017-02-05T08:00:00+01:00
2017-02-05T00:00:00-13:00 => 2017-02-05T13:00:00+01:00
这两个值都应具有+01:00
偏移,因为这是在Europe/Paris
中事件时生效的UTC偏移。