Подход Майка дает вам только часовой пояс веб-сервера.Я считаю, что вы пытаетесь получить часовой пояс пользователя.Я написал функцию, используя jQuery и PHP.Это проверено и работает!
На странице PHP, где вы хотите использовать часовой пояс в качестве переменной, поместите этот фрагмент кода в верхнюю часть страницы:
<?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) или любой другой часовой пояс, в котором вы находитесь.
Cheers
</Westy92>