Apps Script公式リファレンス: Apps Script Reference |障害・課題追跡: IssueTracker |Google Workspace: Status Dashboard - Summary

2017年12月9日土曜日

TimeZoneの時差を取得したい



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で割って時単位にして
ログに出す



Latest post

Google Apps Scriptの障害時はIssueTrackerを見てみる - Incidents for Apps Script are reported on Issue Tracker

IssueTracker > Apps Script issues https://issuetracker.google.com/savedsearches/566234 Google Apps Scriptの障害時は IssueTracker に課題が上がっていることが...