ユーザーのタイムゾーンを決定することは、エクスペリエンスをパーソナライズし、情報を正確に表示するために重要です。いくつかの方法が存在しますが、最適なアプローチにはユーザーの IP アドレスまたは HTTP ヘッダーを活用することがよくあります。
getTimezoneOffset()/60 の計算により、現在のタイム ゾーン オフセットが得られます。 UTCから数分で到着します。このオフセットは、現地時間が UTC よりどれだけ進んでいる ( ) か、またはどれだけ遅れている (-) かを示します。たとえば、北米の東部時間 (ET) ゾーンは UTC から -5 時間のオフセットがあり、getTimezoneOffset()/60 を使用すると -300 分として表されます。
ただし、注意することが重要です。このオフセットは夏時間 (DST) の影響を受け、年間を通して変化する可能性があります。したがって、これはユーザーの特定のタイム ゾーンの信頼できる指標ではありません。
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 サイトの他の関連記事を参照してください。