FullCalendarを連携しているGoogleカレンダーでタイムゾーンがずれる原因と対処法について

くま

掲載日:2021.08.11

FullCalendarと連携しているGoogleカレンダーで、表示時間が9時間ずれる現象が起こりました。

Googleアカウントにログインしていないと表示時間がずれてしまう・・・
GoogleChromeのシークレットウィンドウで開くと表示時間がずれてしまう・・・

ユーザーがGoogleアカウントにログインしなくても
日本時間で表示されるようにしたいので、その原因と対処法について調査しました。

 

◆Googleカレンダーのタイムゾーンがずれてしまう原因の調査
 ・GoogleアカウントにログインするとGoogleカレンダーの表示時間は日本時間になる
  (ログインしているGoogleアカウントのタイムゾーンは「日本標準時」)
 ・シークレットウィンドウで開くとずれる

ということは、ユーザー側の問題ではない?

Google CalendarとFullCalendarを連携している場合、
jQueryスクリプトでタイムゾーンを設定しないと「協定世界時」で表示されてしまうようです。

 

◆Googleカレンダーのタイムゾーンがずれてしまう対処法
カレンダーを描画しているところにタイムゾーンの設定「timezone:’Asia/Tokyo’」を追記しました。

  $(function() {
    $(‘.cal’).fullCalendar({
      ~
    timezone:’Asia/Tokyo’
    });
  });

Googleアカウントでログインしなくても、シークレットウィンドウで開いてみても、
日本時間で表示されるようになりました。

関連する記事

記事はありませんでした…
kumaaa-