サーバーからJSON応答があり、UTCUnixタイムスタンプが秒単位で返されます。これを、グラフで使用されるJavaScriptの日付に解析しています(ユーザーのロケールで時刻を表示します)。
私は明らかに(UTCで)持っているタイムスタンプをブラウザのロケールに変換する必要があるので、ブラウザのロケールで新しいものを作成し、それをDate
呼び出しgetTimezoneOffset()
て現在のロケールで「分単位のオフセット」を取得する関数を作成しました。 MDNは、両方をミリ秒に変換し、合計を返します。これで、ユーザーのロケールにJavaScript対応のUnixタイムスタンプがあります。
しかし、私はしません。
(new Date()).getTimezoneOffset()
結局のところ、GMT-5では(正の)300を返し、GMT+2では-120を返します。オフセットが反転するのはなぜですか?オフセットがタイムゾーンの符号と一致することを期待していました。つまり、GMT-5に到達するには300分を減算し、GMT+2に到達するには120分を加算する必要があります。代わりに、によって返される値を減算する必要がありますgetTimezoneOffset