创建新事件时事件时间不匹配



当我将事件添加到日历时,我对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偏移。

最新更新