web-dev-qa-db-ja.com

時間と瞬間のタイムゾーンの違いを取得します

Node.jsモーメントモジュールを使用して、ニューヨークと香港のタイムゾーンの違いを取得したいと思います。私はいくつかの準備作業を行いました。

var NewYork_time_hr = moment().tz("America/New_York").format('HH'); 
var HongKong_time_hr = moment().tz("Asia/Hong_Kong").format('HH');

次に、2つのタイムゾーンの差を時間単位で計算する関数の作成に進むことができます。もっと簡単な方法を望んでいました。

モーメントライブラリを使用してそれを行うためのよりエレガントで簡単な方法はありますか?

11
user781486

「より単純」についてはわかりませんが、より正確です(すべてのタイムゾーンが互いに1時間離れているわけではないため)。

// get the current time so we know which offset to take (DST is such bullkitten)
var now = moment.utc();
// get the zone offsets for this time, in minutes
var NewYork_tz_offset = moment.tz.zone("America/New_York").offset(now); 
var HongKong_tz_offset = moment.tz.zone("Asia/Hong_Kong").offset(now);
// calculate the difference in hours
console.log((NewYork_tz_offset - HongKong_tz_offset) / 60);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.4.1/moment-timezone-with-data-2010-2020.min.js"></script>
18
Amadan