ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript を使用してクライアントのタイムゾーンとオフセットを確実に取得するにはどうすればよいですか?

JavaScript を使用してクライアントのタイムゾーンとオフセットを確実に取得するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-31 17:19:11571ブラウズ

How Can I Reliably Get a Client's Time Zone and Offset Using JavaScript?

JavaScript でのクライアントのタイムゾーンとオフセットの取得

訪問者のタイムゾーンの決定は、ローカライズされた日付と時刻の表示など、さまざまなアプリケーションにとって重要です。情報。この記事では、JavaScript を使用してタイム ゾーンと UTC または GMT からのオフセットの両方を取得する方法について説明します。

タイム ゾーンとオフセットについて

タイム ゾーンは、次の地域を定義します。協定世界時 (UTC) またはグリニッジ標準時 (GMT) を基準とした特定の時間を監視します。オフセットは、特定のタイムゾーンと UTC の間の時間差です。たとえば、中央ヨーロッパ時間 (CET) は UTC 01 オフセットであり、UTC より 1 時間進んでいることを示します。

タイムゾーン情報の収集

伝統的に、ブラウザは、クライアントのタイムゾーンを取得するための JavaScript API を提供しました。ただし、これらの API は不正確性やセキュリティ上の懸念があるため、信頼性が高くありません。

最新のアプローチ: 国際 API の使用

JavaScript でシステムの IANA タイム ゾーンを取得するための推奨方法Intl.DateTimeFormat() API を利用することです。この API は、タイム ゾーンを含むクライアントのロケール設定に関する情報を含むオブジェクトを返します。

コード例

次のコードは、 Intl.DateTimeFormat() API:

const options = { timeZone: 'UTC' };
const dateFormatter = new Intl.DateTimeFormat([], options);
console.log(dateFormatter.resolvedOptions().timeZone);

このコードは、IANA タイム ゾーンをログに記録します。クライアントのシステム タイム ゾーン。

注意: オフセットの計算

現在時刻に基づいて UTC からのオフセットを計算することは推奨されないことに注意することが重要です。タイムゾーンと夏時間のルールは、年間を通して変更される可能性があります。オフセット計算に依存すると、不一致が生じる可能性があります。代わりに、正確なタイムゾーン情報を得るには、常にシステムの IANA タイムゾーンを使用してください。

以上がJavaScript を使用してクライアントのタイムゾーンとオフセットを確実に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。