moment.jsでtimezoneを指定する方法
moment.jsでtimezoneを指定する場合はmoment.tz.setDefault
を使うのですが、momentモジュールを使うとtzがundefinedになっています。
const moment = require('moment');
console.log(moment.tz);
//-> undefined
tzを読み込めるように、moment-timezoneも読み込む必要があります。
const moment = require('moment');
require('moment-timezone');
console.log(moment.tz);
//-> objectがズラズラと表示される
// これでタイムゾーンを設定できる
moment.tz.setDefault('Asia/Tokyo');
これでもいいのですが、実はいきなりmoment-timezoneを読んでも使うことができます。
// momentではなくmoment-timezoneを読む
const moment = require('moment-timezone');
console.log(moment.tz);
//-> objectがズラズラと表示される
// これでタイムゾーンを設定できる
moment.tz.setDefault('Asia/Tokyo');
まとめ
以下の記事にちゃんとやり方は載っていたのですが変数名がmomentだったのでなかなか気づけませんでした・・・。
意外とこの辺の記事が少なかったので誰かのお役に立てれば幸いです。