Сегодня: 22:11:2024 Доброй вам ночи!

I live ExBB and CMS Limbo!  I live ExBB and CMS Limbo!
Логин :
Пароль :
Регистрация?  Забыли пароль? 
 


 Страниц (1): [1]   

> Описание: Способ задать для сервера часовой необходимый часовой пояс

  Супермодератор
Отправлено: 10 апреля 2018 — 21:16
Post Id


 Покинул технарь
Профессионал
Сообщений: 1825
Регистрация: 12.2011

Директива Date.timezone в php.ini


Директива Date.timezone устанавливает часовой пояс для даты и времени, которое будет возвращать PHP.
date.timezone string
Скорее всего оно будет не Вашей временной зоны, так как по умолчанию время в PHP устанавливается в UTC (не GMT).

Если время на сервере для Вас имеет значение, тогда в php.ini находите и редактируйте директиву Date.timezone, параметром которой укажите необходимую временную зону.

Например, для Новосибирска:
date.timezone = Asia/Novosibirsk
Для Москвы (+3) это выглядит так:
date.timezone = Europe/Moscow
Для Киева (+2):
date.timezone = Europe/Kiev
Узнать как правильно пишется Ваша временная зона можно так:
print_r( DateTimeZone::listIdentifiers( ) );
Это выдаст полный список временных зон.

Директива Date.timezone относиться к режиму PHP_INI_ALL, поэтому значение может быть установлено отовсюду.

Полагаться на данную директиву можно далеко не всегда. Очень часто случаются ситуации, когда часовой пояс показывает неправильное время. Например, для часового пояса Europe/Kiev время показывает не правильно, что заставляет изменять на другой часовой пояс - Europe/Minsk.

Чтобы данной ситуации не случилось, необходимо всегда самостоятельно контролировать время. Для этого, например, можно создать переменную в отдельном конфигурационном файле:
$added_time = time( ) + ( 0 * 60 * 60 );
Добавления осуществлять так:
$thistime = date( "Y-m-d H:i:s", $added_time );

В скрипте можно установить временную зону командой date_default_timezone_set('America/Los_Angeles');
Считать текущую зону командой date_default_timezone_get();

Коррекцию осуществлять так
code:
$timedifference = -1;

$time_client = $timedifference * 3600

$real_time = time() + $time_client;

echo strftime('%d.%m.%Y %H:%M:%S', $real_time);


http://profiphp.ru/directives/date_timezone.html
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Записная книжка PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 

> Темы, похожие на тему "Настройка на сервере временной зоны"
Темы Форум Информация о теме Обновление
Проблема с автоматическим масштабированием картинок
Ошибки и их устранение Ответов: 0
Автор темы: технарь
5 марта 2018 — 13:05
Автор: технарь
Примеры конверторов в UTF8 и обратно в Windows-1251
Записная книжка PHP Ответов: 0
Автор темы: технарь
17 февраля 2018 — 18:34
Автор: технарь
Как определить значение по умолчанию в javascript?
Записная книжка PHP Ответов: 0
Автор темы: технарь
21 января 2012 — 18:43
Автор: технарь
 


Powered by ExBB v1.1.180311