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

Web アプリケーションでユーザーのタイムゾーンを正確に判断して設定するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-11 06:25:10943ブラウズ

How Can I Accurately Determine and Set a User's Timezone in Web Applications?

IP または HTTP ヘッダーによるユーザーのタイムゾーンの決定

ユーザーの現在のタイムゾーンを検出する方法を理解することは、さまざまなアプリケーションにとって不可欠です。この記事では、new Date().getTimezoneOffset()/60.

new Date().getTimezoneOffset()/60

の影響を詳しく調べることで、これを達成する方法を明確にします。

構文 new Date().getTimezoneOffset()/60 は、現地時間間のオフセットを時間単位で提供します。および協定世界時 (UTC)。現地時間が UTC より進んでいる、または UTC から進んでいる時間数を表す値を返します。たとえば、値 5.5 は、現地時間が UTC より 5 時間 30 分進んでいることを示します。

PHP のデフォルトのタイムゾーンを変更する

ベースのタイムゾーンを動的に設定するにはユーザーの IP または HTTP ヘッダーでは、この情報を解析する外部ライブラリを使用することをお勧めします。 jstz.min.js ライブラリを使用した例を次に示します。

<script>
  $(function() {
    var tz = jstz.determine();
    var timezone = tz.name(); // e.g.: "Asia/Kolkata" for Indian Time

    // Send a POST request to the controller to handle the timezone
    $.post("timezone-handler.php", { tz: timezone }, function(data) {
      // Process the timezone in the controller and refresh the page if successful
    });
  });
</script>

タイムゾーンを処理するコントローラー関数

コントローラー関数はタイムゾーン情報を受け取り、処理できます。適切な PHP タイムゾーンを設定するには:

<?php
// Get the timezone from the POST request
$timezone = $_POST['tz'];

// Validate and set the PHP timezone
if (!empty($timezone)) {
  date_default_timezone_set($timezone);
}
?>

これらの手順を実装することで、動的にユーザーのタイムゾーンを検出して設定し、Web アプリケーションの正確な時刻管理を保証します。

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

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