Ho una risposta JSON dal mio server che mi dà i timestamp UTC Unix in secondi. Lo sto analizzando in date JavaScript che verranno utilizzate in un grafico (visualizzando l'ora nelle impostazioni locali dell'utente).Date.getTimezoneOffset invertito?
Io, ovviamente, devono convincere il timestamp ho (in UTC) nella locale del browser, così ho scritto una funzione che crea una nuova Date
nella locale del browser, le chiamate getTimezoneOffset()
su di esso per ottenere il "Offset in minuti" in la locale corrente, come da the MDN, converte entrambi in millisecondi e restituisce la somma. Ora ho un timestamp Unix JavaScript friendly nelle impostazioni locali dell'utente.
Tuttavia, io no.
come risulta, (new Date()).getTimezoneOffset()
restituisce (positivo) 300 in GMT-5 e -120 in GMT + 2. Perché l'offset è invertito? Mi sarei aspettato che l'offset corrispondesse al segno del fuso orario, ovvero: devo sottrarre 300 minuti per arrivare a GMT-5 e AGGIUNGERE 120 minuti per arrivare a GMT + 2. Invece, devo sottrarre i valori restituiti da getTimezoneOffset
Vedere la descrizione [qui] (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset) .'This significa che l'offset è positivo se il fuso orario locale è dietro UTC e negativo se è avanti. – Jashwant
quindi se avessi effettivamente fatto clic sul metodo ...... * facepalm * –