一尘不染

获取时数与时差的时差

node.js

我想通过Node.js矩模块获得纽约和香港之间的时差。我已经做了一些初步的工作。

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

然后,我可以继续编写一个函数,以小时为单位计算两个时区之间的时差。我希望有一个更简单的方法。

矩型库中有更优雅,更简单的方法吗?


阅读 293

收藏
2020-07-07

共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>
2020-07-07