GAS: new Date() したらアメリカ時間っぽいので日本時間で format する方法
March 6, 2021
Google Apps Script が実行されるサーバーはアメリカにあるらしい #
console.log(new Date());
したらこんな出力となる。
Sat Mar 06 2021 01:48:51 GMT-0500 (Eastern Standard Time)
実行マシンのタイムゾーンで出力されるのは JavaScript の言語仕様的に間違ってなさそうだし、クラウドコンピューティングなんだからアメリカにあるサーバーで実行されていても驚きはしない。ただ日本のタイムゾーンで時刻を表示したいんだ!って時にどうするかという話。
日付フォーマット関数がユーティリティとして用意されている #
Class Utilities | Apps Script | Google Developers
任意のタイムゾーンでフォーマット可能。日本時刻で出力するにはこうすればよい。
const dateStr = Utilities.formatDate(new Date(), 'JST', "yyyy-MM-dd'T'HH:mm:ssZ");
console.log(dateStr);
2021-03-06T15:59:19+0900
Utilities クラスには雑多な関数が集まっている #
#dateFormat()
以外にも、
- MD5, SHA1, SHA256 などのハッシュ値生成
- BASE 64 エンコーダー/デコーダー
- Blob 操作
- Blob の zip 圧縮/解凍
- CSV パーサー
- sleep 関数
と色々あって興味深い。というかお前 sleep できるんかっていう。