我用jQuery和PHP编写了一个函数。这个函数已经经过测试,可以正常工作!
在你想将时区作为变量的PHP页面上,在页面顶部附近添加以下代码片段:
<?php
session_start();
$timezone = $_SESSION['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)或者你所在的时区偏移量。