はじめに: ユーザーのタイムゾーンの決定は、イベントのスケジュール設定、ローカライズされたコンテンツの表示など、さまざまなアプリケーションにとって重要です。 、または単にユーザーエクスペリエンスを調整することもできます。ただし、この情報の取得は困難な場合があります。
タイムゾーン検出について:
一般的なアプローチの 1 つは、新しい Date().getTimezoneOffset()/60 式を使用することです。この式は、UTC (協定世界時) からのオフセットを時間単位で計算します。たとえば、ユーザーのシステム時間が UTC より 3 時間進んでいる場合、結果は 3 になります。
曖昧さの克服:
ただし、タイムゾーン オフセットだけでは、十分な情報。夏時間のため、一年の特定の時期には、異なるタイムゾーンでも同じオフセットが適用される場合があります。このようなあいまいさを処理するには、より洗練された方法が必要です。
クライアント側のタイムゾーン検出:
1 つのアプローチは、IP ルックアップ サービスを活用するクライアント側のスクリプトを利用することです。地理位置情報データベースを使用して、ユーザーの IP アドレスに基づいて最も可能性の高いタイムゾーンを決定します。これは、信頼性が高く相互互換性のあるソリューションを提供する jstz.min.js のようなライブラリを使用して実現できます。
実装例:
PHP アプリケーションでタイムゾーンを確認するには、次のアプローチに従います。
<code class="php"><script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.4/jstz.min.js"></script> <script> $(document).ready(function(){ var tz = jstz.determine(); // Determine the client's timezone var timezone = tz.name(); // Get the timezone name, e.g. "Asia/Kolkata" $.post("process_timezone.php", {tz: timezone}, function(){ // Handle the timezone in the PHP script and refresh the page }); }); </script></code>
このコード スニペットは、検出されたタイムゾーンをサーバー側のスクリプトに送信し、データベースの更新や Cookie の設定などのさらなる処理を実行できます。タイムゾーン情報を保持します。
以上が訪問者のタイムゾーンを動的に検出する方法: 包括的なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。