2013-08-26 19 views
13

私は設定された時間帯にあらかじめフォーマットされた時刻を送信するこのバックエンドを持っていますが、上記の時間帯に関する情報はありません。文字列は「2013-08-26 16:55:00」です。moment.jsで特定のタイムゾーンで時間を作成する方法

私はこの文字列で新しいmoment.jsインスタンスを作成することができます。

var time = moment("2013-08-26 16:55:00") //this creates time in my tz 

が、これは私自身のタイムゾーンでインスタンスを作成します。

Moment.jsには、特定のタイムゾーンでオブジェクトのインスタンスを作成できるプラグインがありますが、それはうまく動作しますが、オブジェクトをポイントしたい時を言うことはできません。私はニューヨークにいると私はこれを行う場合は

var time = moment("2013-08-26 16:55:00").tz("America/Los_Angeles"); 

た時間は、13:55の代わりに、16時55しかし、LAになります。

私が欲しいのは、LAタイムで16:55と言うインスタンスを作成することです。

私はこれをしたいので、私は求めている理由は次のとおりです。

var now = moment.tz("America/Los_Angeles"); 
var end = moment("2013-08-26 16:55:00"); //plus something to convert LA time 

var timeLeft = end.diff(now, "minutes"); 

それをする方法はありますか?

答えて

19

ほとんどの場合、あなたは、単にこれを行うことができます。

:あなたはISO8601以外の入力が必要な場合は、2番目のパラメータとしてフォーマット文字列、および第三のように時間帯を指定

moment.tz("2013-08-26 16:55:00", "America/Los_Angeles") 

moment.tz("8/26/2013 4:55 pm", "M/D/YYYY h:mm a", "America/Los_Angeles") 

そして、あなたは一瞬の「厳格な構文解析」モードを使用する必要がある場合、それは三番目のパラメータに移行して、タイムゾーンは、4番目の位置に移動:

moment.tz("8/26/2013 4:55 pm", "M/D/YYYY h:mm a", true, "America/Los_Angeles") 
+0

どのように特定の書式と厳格な解析も同様に使用する必要がある場合、私は、それを行うのですか? – Jan

+0

@Jan - 解説を更新しました。ありがとう。 –

+0

@MattJohnsonこの作品は「America/New_York」のためにどのように元気?ブラウザのタイムゾーンをキャプチャするように思える – anm

1

あなたが

Aを使用して、デフォルトのタイムゾーンを設定したい特定のタイムゾーンですべてを計算したい場合)Node.jsのプロジェクトで私のユースケース()のためにmoment.tz.setDefault("America/Los_Angeles");

私はちょうどセットその後の使用と同じではありません「アメリカ/ Los_Angeles」の設定に時間を作成しますmoment()

let moment = require('moment'); 
require('moment-timezone'); 
moment.tz.setDefault("America/Los_Angeles"); 

すべてのコール:それは右のようにのような瞬間モジュールを必要とした後

すでにデフォルトを変更しない限り)(UTC時間の瞬間オブジェクトを作成し、それがために変換しますどちらもB)moment.tz("2017-03-04 00:00", "America/Los_Angeles")

OR

C)moment("2017-03-04 00:00").tz("America/Los_Angeles")

ロサンゼルスタイムゾーン。ブラウザのコンソール利回りの上にBまたはCを実行

_d: Fri Mar 03 2017 16:00:00 GMT-0800 (PST) 
_i: "2017-3-4 00:00" 

通告_dは3月3日午後4時を示します。これは、モーメントオブジェクトがUTC時間で3月4日午前12時に作成され、太平洋標準時間帯に変換されているためです。これは前日の8時間後です。

ソース:http://momentjs.com/timezone/docs/#/using-timezones/default-timezone/

関連する問題