Vorrei ottenere la differenza di fuso orario tra New York e Hong Kong con il modulo momento Node.js. Ho fatto un lavoro preliminare.Ottiene la differenza del fuso orario in ore con il momento
var NewYork_time_hr = moment().tz("America/New_York").format('HH');
var HongKong_time_hr = moment().tz("Asia/Hong_Kong").format('HH');
Posso quindi procedere a scrivere una funzione per calcolare la differenza tra i 2 fusi orari in ore. Speravo in un metodo più semplice.
C'è un modo più elegante e più semplice per farlo con la libreria di momenti?
upvoted e selezionato come risposta. Non capisco perché la necessità di 'var now = moment.utc();'? Perché non ottenere l'offset di 'NewYork_time_hr' di' HongKong_time_hr'? – user781486
Il commento sopra era un suggerimento: le variazioni di fuso orario cambiano durante l'anno e [non tutte allo stesso tempo] (https://en.wikipedia.org/wiki/Daylight_saving_time_by_country). La differenza tra Hong Kong (non ha DST) e New York (ha DST) è diversa a seconda che tu lo chieda in estate o in inverno. E non puoi semplicemente usare "hr" perché, ad es. Calcutta è compensato a +05: 30. – Amadan
Ottima risposta. Anche se funzionerà anche se passi "momento()" invece di "momento.utc()". Viene ancora valutato come lo stesso timestamp basato su UTC indipendentemente dal modulo che si passa. +1 sul risultato è diverso a seconda di quando lo chiami. "Quante ore tra New York e Los Angeles?" (Di solito 3, ma a volte 2 e talvolta 4.) –