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