Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
26
rated 0 times [  33] [ 7]  / answers: 1 / hits: 20360  / 9 Years ago, fri, november 13, 2015, 12:00:00

I would like to get the timezone difference between New York and Hong Kong with Node.js moment module. I have done some preliminary work.



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


I can then proceed to write a function to calculate the difference between the 2 timezones in hours. I was hoping for a simpler method.



Is there a more elegant and simpler way to do it with moment library?


More From » node.js

 Answers
15

Not sure about simpler, but more correct (since not all timezones are a full hour from each other):





// 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>




[#64411] Wednesday, November 11, 2015, 9 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
aiyannam

Total Points: 642
Total Questions: 96
Total Answers: 102

Location: Equatorial Guinea
Member since Sun, Feb 14, 2021
3 Years ago
;