О web-разработке
и даже немного больше...

Установка временной зоны PHP/MySQL

time_zoneКак известно наш земной шар условно разбит на множество часовых поясов, и текущее время может отличаться в зависимости от местоположения в разных точках планеты. В техническом плане это заметно при работе с данными времени. К примеру, если веб-сервер находиться за границей, и в его операционной системе настроена местная временная зона, то по умолчанию, функции для работы с временными данными будут оперировать временем в формате настроек сервера. Разместив на нём свой сайт, мы можем наблюдать, что временные данные не совпадают со временем вашего местоположения.

Посмотрим, как можно настроить временную зону для своего сайта. Первый способ – прописать настройки в конфигурационных файлах сервера, в нашем случае 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'");

Этот способ актуален, если проект нацелен на аудиторию, которая предположительно находится в пределах одной временной зоны. Когда проект растёт, увеличивается аудитория, и география его применения, вместе с этим увеличиваются дополнительные задачи, которые нужно решить. Одной из задач становиться использование разных временных зон. Так чтобы каждый посетитель видел время по своему местоположению. На этом всё, успехов в труде.

Опубликован: 15.10.2013 г.

См. также:

Как подсчитать количество записей по месяцам в MySQL?
Работа с базой данных в WordPress
SQL-запросы для смены домена в WordPress
Как изменить тип таблиц в MySQL?
Изменение кодировки таблиц в базе MySQL
Фильтрация по полю DateTime в MySQL
Меняем пароль root в MySQL 5.7
Исправление ошибок в базе MySQL

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта