我使用 jQuery 和 PHP 编写了一个函数。这是经过测试的,并且确实有效!
在您希望将时区作为变量的 PHP 页面上,将这段 sn-p 代码放在页面顶部附近的某处:
<?php
session_start();
$timezone = $_SESSION['time'];
?>
这将读取我们现在要创建的会话变量“time”。
在同一个页面中,你需要首先包含jQuery:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
同样在 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://domain.com/timezone.php",
data: 'time='+ visitortimezone,
success: function(){
location.reload();
}
});
}
});
</script>
您可能注意到也可能没有注意到,但您需要将 url 更改为您的实际域。
最后一件事。您可能想知道 timezone.php 到底是什么。嗯,就是这样:
(创建一个名为 timezone.php 的新文件并用上面的 url 指向它)
<?php
session_start();
$_SESSION['time'] = $_GET['time'];
?>
如果这工作正常,它将首先加载页面,执行 JavaScript,然后重新加载页面。然后,您将能够读取 $timezone 变量并随意使用它!它返回当前的 UTC/GMT 时区偏移量 (GMT -7) 或您所在的任何时区。