首頁 >後端開發 >php教程 >使用PHP和JavaScript進行Web開發時如何精確判斷使用者的時區?

使用PHP和JavaScript進行Web開發時如何精確判斷使用者的時區?

Barbara Streisand
Barbara Streisand原創
2024-12-28 00:15:10476瀏覽

How Can I Accurately Determine a User's Timezone in Web Development Using PHP and JavaScript?

Web 開發中確定使用者時區的最佳實踐

建立Web 應用程式時,通常需要了解使用者的時區以提供在地化體驗或準確顯示時間戳記。雖然這個問題可能有重複,但它缺乏具體的實作細節,所以讓我們深入研究使用 PHP 和 JavaScript 的推薦方法。

PHP 解

PHP 提供了一個簡單的方法使用會話變數來決定使用者時區的方法。以下程式碼片段示範如何操作:

<?php
session_start();
$timezone = $_SESSION['time'];
?>

要擷取使用者的時區並將其儲存在會話變數中,您可以使用下列jQuery 腳本:

<script type="text/javascript">
    $(document).ready(function() {
        if ("<?php echo $timezone; ?>".length == 0){
            var visitortime = new Date();
            var visitortimezone = "GMT " + -visitortime.getTimezoneOffset()/60;
            $.ajax({
                type: "GET",
                url: "http://example.com/timezone.php",
                data: 'time='+ visitortimezone,
                success: function(){
                    location.reload();
                }
            });
        }
    });
</script>

在此腳本中,您需要將「http://example.com/timezone.php」替換為您的實際網域網址。

最後,建立一個名為的檔案“timezone.php”,包含以下程式碼:

<?php
session_start();
$_SESSION['time'] = $_GET['time'];
?>

JavaScript 解決方案

或者,如果PHP 不可用,您可以使用JavaScript 來確定使用者的時區。下面是一個程式碼片段:

var visitortime = new Date();
var visitortimezone = "GMT " + -visitortime.getTimezoneOffset()/60;

此程式碼擷取訪客目前時區與 GMT 的偏移量,並將其儲存在「visitortimezone」變數中。

附加說明

這兩種方法都假設使用者的瀏覽器支援時區偵測。如果沒有,您可能需要求助於替代方法,例如 GeoIP 或使用者輸入。

以上是使用PHP和JavaScript進行Web開發時如何精確判斷使用者的時區?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn