【GAS】バンドルしたdayjsは、タイムゾーンを解釈する
こんにちは、フリーランスエンジニアの太田雅昭です。
GASコードをバンドル
GASコードをバンドルすることで、dayjsなどのエコシステムを使うことができるようになります。esbuildでバンドルするライブラリを、以下で公開しています。
https://www.npmjs.com/package/gasup
dayjs
dayjsは、日付を簡単に扱えるライブラリです。JavaScriptのDateはお粗末なので、必須です。これをバンドルした場合、タイムゾーンはどうなるか実験しました。
console.log(dayjs().format('YYYY-MM-DD HH:mm:ss'));
結果
デフォルトでは日本時刻ではありませんでした。その後appsscript.jsonにてtimezoneをAsia/Tokyoにすると、ちゃんと日本時刻が表示されました。
new Dateの結果がappsscript.jsonのタイムゾーンに従っていることが理由のようです。これで、dayjsを気兼ねなくGASで使えそうです。