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