Moment TimezoneはIANAのtz databaseを使ってMoment.jsにタイムゾーン操作のAPIを追加してくれます。前回確認したMoment.jsでも+09:00
するとJSTになりますが自分で計算するのが面倒です。Asia/Tokyo
のようにタイムゾーンを指定して変換できると便利です。
テスト用のDockerコンテナ
Dockerイメージをビルドするプロジェクトを作成します。
$ mkdir -p ~/node_apps/moment-tz-spike |
package.jsonにmoment-timezone
パッケージを指定します。
{ |
Dockerイメージをビルドしてコンテナを起動します。
$ docker build -t moment-tz-spike . |
使い方
タイムゾーンをAsia/Tokyo
に指定して現在時刻をISO 8601表示の日付にフォーマットします。
> var moment = require('moment-timezone'); |
UTCからJSTに変換します。
> moment('2015-04-08T02:36:45.408Z').tz("Asia/Tokyo").format() |
指定したISO 8601表示の日付をUNIXタイムスタンプに変換します。
> moment('2015-04-08T02:36:45.408Z').tz('Asia/Tokyo').unix() |
UNIXタイムスタンプからISO 8601表示の日付にフォーマットします。
> moment(1428460605,'X').tz("Asia/Tokyo").format() |