Open1
ブラウザのタイムゾーンオフセットを取得する方法
背景
分単位
で返してくれるだけであり、よく見る +0900 などのタイムゾーンオフセットを取得するメソッドがないので自前で用意する必要があったので。
コードサンプル
function getTimezoneOffset(date) {
// 各値を取得し、先頭に0を追加するヘルパー関数を定義
const padZero = (value) => (value < 10 ? "0" + value : value);
// ブラウザのタイムゾーンオフセットを取得
const timezoneOffset = -date.getTimezoneOffset();
const offsetSign = timezoneOffset >= 0 ? "+" : "-";
const offsetHours = padZero(Math.floor(Math.abs(timezoneOffset) / 60));
const offsetMinutes = padZero(Math.abs(timezoneOffset) % 60);
const formattedOffset = `${offsetSign}${offsetHours}${offsetMinutes}`;
return formattedOffset
}
実行結果
getTimezoneOffset(new Date())
// '+0900'