【JavaScript】Dateを日本時間(JST)で固定して取得する

ブラウザ、サーバーに依存せず、また、JSTが選択できないPCの場合、日本時間で固定して取得します。

目次

日本時間(JST)でDateを取得する

JSTが選択できないPCの場合、timeZoneを指定してもUTCで返ってきます。

そこで、getTimezoneOffsetを利用して取得します。
これは現在のロケールからUTC(協定世界時)までのタイムゾーンの差を分単位で返します。

例えば日本時間なら9時間進んでいるので 9*60(540)分進んでいるので-540が返ってきます。
UTCでは0を返します。

この差を利用して、以下のようにして、日本時間を取得します。

new Date(Date.now() + ((new Date().getTimezoneOffset() + (540)) * 60 * 1000));

日本時間の時に-540が返ってくるので、そのままnew Date()をして日本時間を取得。
UTCの時に0が返ってくるので540分遅れているとして追加してあげることで日本時間を取得しています。

シェア!

この記事を書いた人

kenichiのアバター kenichi エンジニア・写真家 | Engineer and photographer

日本全国と海外を旅するノマドワーカー。5年間、技術営業として働いたのち独立。
フリーランスエンジニアとしてWebサイト制作やアプリケーション開発を行う。面白い人たちの面白いを世に届けるべく行動中。
2024年11月にポルトガルへ移住🇵🇹

目次