2016-12-14 21 views
0

私はfullcalendarを使用していくつかのGoogleカレンダーのイベントをレンダリングしています。各カレンダーは特定の場所のイベントを表しており、クライアントの場所に関係なく、元のタイムゾーンのすべてのイベントを表示したいと考えています。元のタイムゾーンにfullcalendarイベント(gcalから)を表示

たとえば、東京の午前8時から始まるイベントは、すべての人のために午前8時に表示する必要があります(ページ上のカレンダーには、東京に関連するラベルが付けられています)。

現在、デフォルトでは、すべてのイベントがクライアントのローカルタイムゾーンに変換されています。ここロンドンの8am東京イベントは、午後11時から開始されます。

私が元のタイムゾーンでイベントを表示する唯一の方法は、timezoneオプションの対応するTZ文字列で明示的に各カレンダーを初期化することですが、この時間に間に合わなければならないと感じますすでに知られている。

これが予想される動作ですか、またはカレンダーイベント自体に問題はありますか?

+0

ロケーションAの日付時刻情報をロケーションBから発信し、Bのタイムゾーンにローカライズする場合。次に、翻訳を実行するためにB地点のタイムゾーン情報を知る必要があります。 –

+0

@RossBush私はそれを取得しますが、私は何かをローカライズしたくありません。 Googleカレンダーで最初に作成されたタイムゾーンは、表示されるタイムゾーンである必要があります。私は現時点でローカリゼーションを行っていますが、私は何もしたくありませんし、そのゾーンに表示するために元のイベントのタイムゾーンを指定する必要はないと思いますか? – bbodien

+1

私はその日時がUTC時間として格納されると確信しています。唯一の魔法は、UTCのクライアント表現に変換するときに発生します。単に東京のUTC表現で表示する必要があります。 –

答えて

1

基本的に、イベントstartendのパラメータでタイムゾーンを定義できます。同様

{ title: "event1", start: "2013-10-20T02:00:00+09:00" }

どこ+09:00 satesタイムゾーン。以上の場合:https://fullcalendar.io/docs/timezone/timezone/

Googleカレンダーからイベントを取得している場合は、次にhttps://fullcalendar.io/docs/google_calendar/

をfullcalendarに直接Googleの資格情報を使用している場合、それは

   ............... 
       $single_event['event_id'] = $event['id']; 
       $single_event['title'] = $event['summary']; ´ 
       $single_event['start'] = $date->format('Y-m-d'); // change here 
       $single_event['time'] = $date->format('H:i'); 
       $single_event['endtime'] = $enddate->format('H:i'); 

       array_push($event_list, $single_event); 
       ............... 

のようなタイムゾーンを含むように、あなたはあなたのイベントを準備することができますGoogleカレンダーのタイムゾーン設定を確認してください。

+0

APIを使用してイベントを手動で作成または取得していません - Googleカレンダー拡張機能を使用して、特定のGoogleカレンダーIDからすべてのイベントを取得しています。イベントはGoogleカレンダーに直接追加されます(その時に指定されたタイムゾーンで)。私はちょうどその元のタイムゾーンにすべてのイベントを表示するために探しています。 – bbodien

+0

大丈夫、次に私はあなたがどのようにGoogleカレンダーからのイベントに直面しているか知る必要があります。あなたはPHPを使用してイベントを取得していますか? –

+0

@bbodien、私はそれをもっと明確にしようとしました。今見てみましょう。 –

0

問題はGoogleカレンダーのタイムゾーンの設定が間違っていたことでした。ソースとして使用されている各カレンダーでこれが変更されると、各地域カレンダーの正しいタイムゾーンにイベントが表示されました。

+0

良いはずです:) –

関連する問題