TimeZoneの違いによって発生する時差を取得したいと思った時に書いたコードです
以下のコードの例では東京とシドニーの時差を求めています
コード.gs
function time_zone_diff() { var date = new Date(); var zone_tokyo = 'Asia/Tokyo'; var zone_target = 'Australia/Sydney'; var tokyo = Utilities.formatDate(date, zone_tokyo, 'yyyy/MM/dd/HH:mm:ss'); var target = Utilities.formatDate(date, zone_target, 'yyyy/MM/dd/HH:mm:ss'); var date_tokyo = new Date(tokyo); var date_target = new Date(target); var diff_millisec = date_tokyo - date_target; var diff_sec = diff_millisec / 1000; var diff_min = diff_sec / 60; var diff_hour = diff_min / 60; Logger.log([zone_tokyo, tokyo, zone_target, target, diff_hour]); } |
意訳この処理は以下を実行する 現在時刻を取得して 東京のタイムゾーンを指定して シドニーのタイムゾーンを指定して 現在時刻を東京時間でフォーマットしてtokyoに入れて 現在時刻をシドニー時間でフォーマットしてtargetに入れて 東京時間をnew Date()に入れて シドニー時間をnew Date()に入れて 東京時間-シドニー時間の差分をミリ秒で取得して ミリ秒を1000で割って秒単位にして 秒を60で割って分単位にして 分を60で割って時単位にして ログに出す |
参考
formatDate(date, timeZone, format)
https://developers.google.com/apps-script/reference/utilities/utilities#formatDate(Date,String,String)
TimeZoneの一覧
List of tz database time zones
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
formatDate(date, timeZone, format)
https://developers.google.com/apps-script/reference/utilities/utilities#formatDate(Date,String,String)
TimeZoneの一覧
List of tz database time zones
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones