JavaScriptを使用してクライアントのタイムゾーンオフセットを取得する方法


  1. Dateオブジェクトを使用する方法:
var date = new Date();
var offset = date.getTimezoneOffset();
console.log(offset);

このコードでは、new Date()を使用して現在の日時を取得し、getTimezoneOffset()メソッドを呼び出してクライアントのタイムゾーンオフセットを分単位で取得します。取得されるオフセットはUTCとの差を表します。

  1. Intl.DateTimeFormatを使用する方法:
var options = { timeZoneName: 'short' };
var formatter = new Intl.DateTimeFormat([], options);
var parts = formatter.formatToParts();
var offsetIndex = parts.findIndex(part => part.type === 'timeZoneName');
var offset = parseInt(parts[offsetIndex + 1].value);
console.log(offset);

このコードでは、Intl.DateTimeFormatオブジェクトを使用して現在のタイムゾーン情報を取得し、formatToParts()メソッドを呼び出してパーツの配列を取得します。配列内の適切なパーツを見つけ、オフセットを取得します。

これらの方法を使用すると、JavaScriptでクライアントのタイムゾーンオフセットを取得することができます。この情報を使用して、ブラウザ上での日時の表示やタイムゾーンに関連する他の処理を行うことができます。