2017-05-02 9 views
1

カレンダーに予定を追加するときにdateTimeの開始/終了に問題があります。ここで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); 

このコードは13:00終了08:00から始まる、私のカレンダーにイベントを追加する必要があります。事実は、イベントは10:00から15:00までに追加されます。 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)あなたが与えた日付は+1であり、+2ではありません。また、GoogleのAPIでは、* recurring *イベントのタイムゾーン( 'Europe/Paris')のみが必要です。その場合はオフセットを指定しないでください(+ 1の場合もあれば、+ +2)。 –

+0

したがって、単一のイベントについて話している場合は、オフセットを含めるとタイムゾーンはオプションです。定期的なイベントの場合は、オフセットを省略し、タイムゾーンが必要です。 [こちらの参考情報](https://developers.google.com/google-apps/calendar/v3/reference/events/insert#start.dateTime) –

関連する問題