本番環境では、サーバー、クライアントがそれぞれ
- サーバー: UTC
- クライアント(ブラウザ): JST
のようなタイムゾーンとなっており、デバッグのために開発環境で同じ状況を再現したいことが時々発生します。
SSRをするときに、 process.env.TZ
のようにタイムゾーンを指定できたらいいのですが、 mini_racer (V8) ではホストシステムのタイムゾーンを参照してしまうようで、開発環境(Mac)で再現するにはMacのタイムゾーンを変更する必要があります。
しかし、同時にブラウザのタイムゾーンもつられて同じタイムゾーンを参照してしまいます。
方法
- PCのタイムゾーンをUTCに設定する
- ブラウザのタイムゾーンをJSTに書き換える
1. PCのタイムゾーンをUTCに設定する
Macの設定から時間帯をUTCに変更します。
2. ブラウザのタイムゾーンをJSTに書き換える
Chrome開発者ツールでタイムゾーンを変更します。
Macなら cmd + Shift + P
でパネルを表示して、 sensors
と入力します。
その後Locationを 「Tokyo」 に変更します
以下のようにタイムゾーンが変わっていることが確認できます。