ホームページ >バックエンド開発 >PHPチュートリアル >Web アプリケーションでユーザーのタイムゾーンを確実に検出するにはどうすればよいですか?

Web アプリケーションでユーザーのタイムゾーンを確実に検出するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-13 04:36:53850ブラウズ

How Can I Reliably Detect a User's Time Zone in My Web Application?

ユーザーのタイム ゾーンの検出: 総合ガイド

タイム ゾーンの検出について

ユーザーのタイム ゾーンを決定するには時間に敏感なコンテンツやサービスを提供するために不可欠です。一般的なアプローチの 1 つは、IP アドレスまたは HTTP ヘッダーを使用することです。

Time Zone Offset メソッド

-new Date().getTimezoneOffset()/60 メソッドは差分を返します。ブラウザの現地時間と UTC の間の時間単位。ただし、このアプローチには制限があります。

  • オフセットを提供するだけで、実際のタイム ゾーンは提供しません。
  • ブラウザが現地時間を正確に判断できる必要があります。常に信頼できるとは限りません。

による動的タイムゾーン検出JavaScript

より信頼性の高い方法は、JavaScript を使用してユーザーのタイムゾーンを動的に検出することです。これは、「jstz.min.js」ライブラリを使用して実現できます。

<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 browser client's time zone
    var timezone = tz.name(); // Get time zone name (e.g., "Asia/Kolkata")
    $.post("url-to-function-that-handles-time-zone", {tz: timezone}, function(data) {
      // Process the time zone in the controller function and get
      // confirmation value. Refresh the page on success.
    });
  });
</script>

この JavaScript コード:

  • jQuery を使用して、JSTZ ライブラリを使用してユーザーのタイム ゾーンを決定します。
  • AJAX POST を使用して、検出されたタイムゾーンをサーバー側関数に送信します
  • サーバー側関数はタイム ゾーン情報を処理し、確認値を返します。
  • タイム ゾーンの検出が成功すると、ページが更新されて正しいタイム ゾーンであることが確認されます。適用されました。

以上がWeb アプリケーションでユーザーのタイムゾーンを確実に検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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