JavaScriptでのタイムゾーンオフセットからタイムゾーンへの変換方法


  1. Dateオブジェクトを使用する方法:

    // タイムゾーンオフセットを取得する
    const offset = new Date().getTimezoneOffset();
    // タイムゾーンオフセットからタイムゾーンを計算する
    const hours = Math.abs(Math.floor(offset / 60));
    const minutes = Math.abs(offset % 60);
    const sign = offset < 0 ? "+" : "-";
    // タイムゾーンを表示する
    const timeZone = `GMT${sign}${hours}:${minutes}`;
    console.log(timeZone);
  2. Intl.DateTimeFormatを使用する方法:

    // タイムゾーンオフセットを取得する
    const offset = new Date().getTimezoneOffset();
    // タイムゾーンオフセットからタイムゾーンを計算する
    const hours = Math.abs(Math.floor(offset / 60));
    const minutes = Math.abs(offset % 60);
    const sign = offset < 0 ? "+" : "-";
    // タイムゾーンを表示する
    const timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
    const formattedTimeZone = `GMT${sign}${hours}:${minutes} (${timeZone})`;
    console.log(formattedTimeZone);
  3. Moment.jsライブラリを使用する方法: Moment.jsは、タイムゾーンの変換や操作を容易にするための人気のあるライブラリです。まず、Moment.jsをインストールし、次のように使用します:

const moment = require('moment-timezone');
// タイムゾーンオフセットを取得する
const offset = new Date().getTimezoneOffset();
// タイムゾーンオフセットからタイムゾーンを計算する
const hours = Math.abs(Math.floor(offset / 60));
const minutes = Math.abs(offset % 60);
const sign = offset < 0 ? "+" : "-";
// タイムゾーンを表示する
const timeZone = moment().format(`GMT${sign}${hours}:${minutes}`);
console.log(timeZone);

これらの方法を使用することで、JavaScriptでタイムゾーンオフセットからタイムゾーンへの変換が可能です。選択した方法に応じて、コード例を使用してタイムゾーンを表示することができます。