私はmomentjsを使用していますが、UTC時刻を特定のタイムゾーン(現在のユーザーにローカルではない)に変換しようとしています。 This SO questionは似ていますが、実際には役に立ちませんでした。MomentJSからローカルだけでなく、希望のタイムゾーンに変換する
私の思考プロセスは、サーバーから受け取った日付でutcモーメントobjを作成し、そのUTC時刻を表示のために特定のタイムゾーンにフォーマットすることです。私は現在、これに近づいてるかの小さなスニペット:
var cutoffString = '20170421 16:30:00'; // in utc
var utcCutoff = moment.tz(cutoffString, 'YYYYMMDD HH:mm:ss', '+00:00');
var displayCutoff =
moment.tz(utcCutoff.format('YYYYMMDD HH:mm:ss'), 'YYYYMMDD HH:mm:ss', 'America/New_York');
console.log('utcCutoff:', utcCutoff.format('YYYYMMDD hh:mm:ssa Z')); // => utcCutoff: 20170421 04:30:00pm +00:00
console.log('displayCutoff:', displayCutoff.format('YYYYMMDD hh:mm:ssa Z')); // => displayCutoff: 20170421 04:30:00pm +00:00
ここでの私の仮定はdisplayCutoffは「アメリカ/ニューヨーク」時間で表示utcCutoff時間になることです。しかし、現在はutcCutoffオブジェクトと同じ時刻に表示されます。また、.tz
の代わりに.utc()
を使用し、.local()
を適用した後にタイムゾーンを操作しようとすると、それもうまくいきませんでした。
ご協力いただきありがとうございます。
[ここ](のhttp:// stackoverflowの.com/q/43113350/4131048)タイムゾーン間の変換モーメントがどのように役立つかの例。 – VincenzoC