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

时间:2017-05-02 08:49:30

标签: php timezone google-calendar-api google-api-php-client

当我向日历添加事件时,我遇到了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个小时。

您认为该错误来自时区吗?

1 个答案:

答案 0 :(得分:0)

您正在混淆时区偏移的当地时间。

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偏移量。