ホームページ > バックエンド開発 > PHPチュートリアル > 正確な情報を表示するためにユーザーのタイムゾーンを動的に決定するにはどうすればよいですか?

正確な情報を表示するためにユーザーのタイムゾーンを動的に決定するにはどうすればよいですか?

DDD
リリース: 2024-12-10 22:37:15
オリジナル
743 人が閲覧しました

How Can I Dynamically Determine a User's Time Zone for Accurate Information Display?

ユーザーのタイムゾーンを動的に取得する

ユーザーのタイムゾーンを決定することは、エクスペリエンスをパーソナライズし、情報を正確に表示するために重要です。いくつかの方法が存在しますが、最適なアプローチにはユーザーの IP アドレスまたは HTTP ヘッダーを活用することがよくあります。

getTimezoneOffset()/60 について

getTimezoneOffset()/60 の計算により、現在のタイム ゾーン オフセットが得られます。 UTCから数分で到着します。このオフセットは、現地時間が UTC よりどれだけ進んでいる ( ) か、またはどれだけ遅れている (-) かを示します。たとえば、北米の東部時間 (ET) ゾーンは UTC から -5 時間のオフセットがあり、getTimezoneOffset()/60 を使用すると -300 分として表されます。

ただし、注意することが重要です。このオフセットは夏時間 (DST) の影響を受け、年間を通して変化する可能性があります。したがって、これはユーザーの特定のタイム ゾーンの信頼できる指標ではありません。

動的タイム ゾーン検出用の Javascipt コード

JavaScript を使用してユーザーのタイム ゾーンを動的に取得するには、次の手順に従います。

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.4/jstz.min.js"></script>
<script type="text/javascript">
  $(document).ready(function(){
    var tz = jstz.determine(); // Determines the time zone of the browser client
    var timezone = tz.name(); //For e.g.:"Asia/Kolkata" for the Indian Time.
    $.post("url-to-function-that-handles-time-zone", {tz: timezone}, function(data) {
       //Preocess the timezone in the controller function and get
       //the confirmation value here. On success, refresh the page.
     });
  });
</script>
ログイン後にコピー

このコードは jstz.min.js ライブラリを利用してクライアントのタイムゾーン名を決定します(例:「アジア/コルカタ」)。次に、この情報を AJAX リクエスト経由でサーバー側関数に送信します。これにより、タイム ゾーンを処理して動的に設定できます。

このアプローチを実装すると、アプリケーションで時刻と日付の情報を確実に表示できます。ユーザーの位置に応じて、全体的なエクスペリエンスを向上させます。

以上が正確な情報を表示するためにユーザーのタイムゾーンを動的に決定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート