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中文網其他相關文章!