2017-05-02 3 views
1

내 캘린더에 일정을 추가 할 때 dateTime 시작/종료에 문제가 있습니다. 이 코드는 13:00 종료 08:00부터, 내 캘린더에 이벤트를 추가해야합니다google-api-php-client 이벤트 시간 불일치 삽입

$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); 

: 여기

은 내가 사용하는 코드입니다. 사실은 이벤트가 10시에 시작되고 15시에 끝나는 것입니다. dateTime에 2 시간을 더합니다.

오류가 시간대에서 비롯된 것이라고 생각하십니까?

답변

0

시간대 오프셋에 대한 현지 시간을 혼동스럽게합니다. 그 Europe/Paris의 이벤트의 시점에 유효한 오프셋 UTC 때문에

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이 있어야합니다.

+0

답장을 보내 주셔서 감사합니다. +02 : 00 작품 – blackndoor

+0

파리는 표준 시간에는'+01 : 00'을 사용하고 여름철에는'+02 : 00'을 사용하여 일광 절약 시간제를 사용합니다. [여기를 참조하십시오] (https://www.timeanddate.com/time/zone/france/paris). 당신이 준 날짜는 +2가 아니라 +1에 있습니다. 또한 Google API는 * 반복 일정에 대해 시간대 ('유럽/파리') 만 필요하므로이 경우 오프셋을 지정하지 말아야합니다 (일부 경우 +1이 될 수 있고 일부 항목은 +2). –

+0

그래서, 하나의 이벤트에 대해 말하고 오프셋을 포함하고 시간대는 선택 사항입니다. 반복 이벤트의 경우 오프셋을 생략하면 시간대가 필요합니다. [여기 참조] (https://developers.google.com/google-apps/calendar/v3/reference/events/insert#start.dateTime) –