我用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>
您可能會或可能沒有注意到,但你需要將網址更改爲你的實際域名。
最後一件事。你可能想知道timezone.php是什麼。嗯,這很簡單: (創建一個名爲timezone.php並指向它與上面的網址一個新的文件)
<?php
session_start();
$_SESSION['time'] = $_GET['time'];
?>
如果這個工作正常,它會首先加載頁面,執行JavaScript並重新加載頁面。然後您將能夠讀取$ timezone變量並將其用於您的樂趣!它返回當前的UTC/GMT時區偏移量(格林威治標準時間-7)或你所在的任何時區。
注意,都在這個問題的答案是有缺陷的,因爲他們只拿到了*電流*偏移。請參閱[時區標記wiki](http://stackoverflow.com/tags/timezone/info)中的「Time Zone!= Offset」,並查看dup問題及其答案。 –