web-dev-qa-db-ja.com

momentjsでグローバルタイムゾーンを設定する

私はWebアプリケーションで日付を処理するためにmomentjsを使用しています。サーバーは、すべての日付をミリ秒UTCで返します。次に、特定のタイムゾーンを適用した日付を表示する必要があります(ユーザー設定に基づいて)。

それを処理するためにmomentjsのすべての呼び出しを変更する代わりに、タイムゾーンをグローバルに設定する方法はありますか?

43

次を使用して Momentのデフォルトのタイムゾーンを設定 できます:

moment.tz.setDefault(String);

例えば

moment.tz.setDefault("America/New_York");
53
Der Hochstapler

同じWebサイトにあるmoment-timezoneライブラリを使用します。 http://momentjs.com/timezone/ 次のようなことができます。

moment(utcDateTime).tz(settings.timezone).format(settings.dateFormat);

UTCをユーザーのタイムゾーンに変換するためのサービス機能を持つユーザークラス/オブジェクトを実装することをお勧めします。このフィドルをご覧ください:

http://jsfiddle.net/guidosch/ofd4unhu/4/

日付はUTCとして提供されますが、ビューはユーザークラスの日付フォーマット方法を使用して、ユーザーの設定に従ってUTC日付を調整およびフォーマットします。

2
guidos