Die vorhandenen Antworten geben Ihnen den aktuellen Zeitzonen-Offset an, aber Sie werden Probleme haben, wenn Sie historische/zukünftige Zeitpunkte vergleichen, da dies nicht für Sommerzeitänderungen sorgt.
In vielen Zeitzonen variiert der Offset im Laufe des Jahres und diese Änderungen treten zu unterschiedlichen Zeitpunkten oder gar nicht auf, je nach Breitengrad. Wenn Sie nur UTC-Zeit und einen Offset haben, können Sie nie sicher sein, wie der Offset zu verschiedenen anderen Zeiten im Jahr an diesem Ort sein wird.
Zum Beispiel könnte sich ein UTC + 2: 00 Offset auf das ganze Jahr über in Barcelona oder im Sommer in der Elfenbeinküste beziehen. Der 2-Stunden-Versatz zeigt immer die korrekte Zeit in der Elfenbeinküste an, wird aber in Barcelona für ein halbes Jahr 1 Stunde lang sein.
Wie können wir alle diese Zeitzonenprobleme behandeln? Nun, es ist ziemlich einfach:
- markieren Alle Zeiten in UTC
- Speichern Sie die Zeitzone Name wo diese
In JavaScript aufgetreten ist, können Sie Moment Zeitzone zu guess the users timezone verwenden, obwohl ich nur getestet habe dies im Browser:
moment.tz.guess(); // eg. 'America/Chicago'
anschließend können Sie diese Zeitzone Zeichenfolge in Moment Timezone verwenden, um Ihre aufgenommenen UTC Zeiten zu helfen ausgeglichen.
versuchen Sie diese 'neue Date(). GetTimezoneOffset()'. – vkstack
Danke. Es funktionierte. Aber ich brauchte es formatiert in "hh: mm"; also habe ich moment.js mit 'console.log (''. concat (offset <0?" - ":" + ", moment (''. concat (Math.abs (offset/60), Math.abs (offset % 60) <10? "0": "", Math.abs (offset% 60)), "hmm"). Format ("HH: mm")); ' – Malith