Как известно наш земной шар условно разбит на множество часовых поясов, и текущее время может отличаться в зависимости от местоположения в разных точках планеты. В техническом плане это заметно при работе с данными времени. К примеру, если веб-сервер находиться за границей, и в его операционной системе настроена местная временная зона, то по умолчанию, функции для работы с временными данными будут оперировать временем в формате настроек сервера. Разместив на нём свой сайт, мы можем наблюдать, что временные данные не совпадают со временем вашего местоположения.
Посмотрим, как можно настроить временную зону для своего сайта. Первый способ – прописать настройки в конфигурационных файлах сервера, в нашем случае php.ini
date.timezone = Asia/Almaty
Сразу стоит заметить, что вам необходимо указать свою временную зону, посмотреть возможные варианты можно здесь.
Если вы используете СУБД MySQL, а скорее всего – да, то для него так же необходимо настроить временную зону, соответственно:
default-time-zone = ’Asia/Almaty’
либо можно выполнить SQL запрос:
SET GLOBAL time_zone = ‘Asia/Almaty’;
UPD: если все таки не удается перевести время, то можно попробовать так:
SET LOCAL time_zone='+06:00';
Для самого веб-сервера настройки прописываются в файлах httpd.conf либо в файле .htaccess:
php_value date.timezone “Asia/Almaty”
Всё вроде бы хорошо, однако с большой вероятностью поставщик услуг сервера не предоставляет возможности редактировать настройки конфигурационных файлов, как быть в этом случае. Выход есть следующий, делать это дело посредством обращения из скрипта.
Установка временной зоны для php:
if (function_exists('date_default_timezone_set')) date_default_timezone_set('Asia/Almaty');
Установка временной зоны для MySQL:
$db->query("SET time_zone = 'Asia/Almaty'");
Этот способ актуален, если проект нацелен на аудиторию, которая предположительно находится в пределах одной временной зоны. Когда проект растёт, увеличивается аудитория, и география его применения, вместе с этим увеличиваются дополнительные задачи, которые нужно решить. Одной из задач становиться использование разных временных зон. Так чтобы каждый посетитель видел время по своему местоположению. На этом всё, успехов в труде.