2016-09-22 9 views
0

moment.utc()コンストラクタの構築時間にUTCオフセット(-25200または-0700)を渡す方法はありますか?モーメントutcオブジェクトにUTCオフセットを渡す方法はありますか?

すなわち:

const timeUtc = moment.utc('Sun, 25 Sep 2016 12:30:00', 'ddd, DD MMM YYYY HH:mm:ss'); 

const timeDifference = '-25200'; 

時間差のUTCオフセットとタイムゾーンで瞬間オブジェクトにtimeUtcモーメントオブジェクトを変換するために呼び出す任意の方法?

+0

入力に2つの誤りがあります。私はこれらがコピー/ペーストの問題であると仮定しますが、1)2016年に2回、2) 'new'キーワードを使用しないでください。 –

答えて

0

モーメントは、オフセットを設定するために使用できるutcOffset関数を持っています。しかし、それは秒単位の入力を文字列として期待していません。あなたは分を取得するために分けなければなりません。それは数に強制します。

const timeWithOffset = moment(timeUtc).utcOffset(timeDifference/60); 

これも、元の値を変更しないように、クローンを作成しています。

あなたはあなたの例を入力して、この上.format()を呼び出した場合、あなたは"2016-09-25T05:30:00-07:00"

これは正しくUTCからのオフセット提供に変換し得るでしょうが。代わりに元の値がすでにそのオフセットにあることを意味していた場合は、関数の第2パラメータとしてtrueを渡してください。代わりに"2016-09-25T12:30:00-07:00"が返されます。

入力オフセットがUTC-7を表しているとします。それが実際にはUTC + 7の場合は、そこにも-1を掛けたいと思うでしょう。

関連する問題