Переход на зимнее время

K
На сайте с 12.07.2006
Offline
295
Kpd
1749

Есть сервер с FreeBSD 8.2 и php 5.2, который хочется перевести на вечное зимнее время.

По переводу времени сервера нагуглил такое решение

cp /usr/share/zoneinfo/Etc/GMT-5 /etc/localtime

или GMT-3 ? Не соображу, в какую сторону надо сдвинуться?

Или есть более правильное решение (без перекомпиляции ядра :))?

C php пока не нагуглил решение. Обновление из портов невозможно. Как проще всего поставить в php вечное зимнее время?

З.Ы. Время на сервере (должно быть) московское.

Оптимизайка
На сайте с 11.03.2012
Offline
396
#1
⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
K
На сайте с 12.07.2006
Offline
295
Kpd
#2

Оптимизайка, какую зону там прописать? Asia/Qatar ?

UPD:

Поставил Asia/Qatar

Сделал cp /usr/share/zoneinfo/Etc/GMT-3 /etc/localtime

Перезапустил php и mysql. Вроде бы получилось.

D
На сайте с 28.06.2008
Offline
1101
#3

На хабре недавно писали

http://habrahabr.ru/post/240937/

http://habrahabr.ru/post/240915/

[umka]
На сайте с 25.05.2008
Offline
456
#4

Перевод системных часов не решит всех проблем, иначе будет бардак.

Нужно именно обновлять таймзоны. Системны, php-шные, mysql-евские, и пр.

Проверить можно, например, так:


SET time_zone = 'Europe/Moscow';
SELECT FROM_UNIXTIME(1414267200),FROM_UNIXTIME(1414267200+86400);
// Должно выдать: 2014-10-26 00:00:00 2014-10-26 23:00:00

SET time_zone = 'Europe/Samara';
SELECT FROM_UNIXTIME(1414267200),FROM_UNIXTIME(1414267200+86400);
// Должно выдать: 2014-10-26 00:00:00 2014-10-27 00:00:00

И для PHP тоже самое:


php -r 'date_default_timezone_set("Europe/Moscow"); echo date("Y-m-d H:i:s",1414267200)."\t".date("Y-m-d H:i:s",1414267200+86400)."\n" ;'
// Должно выдать: 2014-10-26 00:00:00 2014-10-26 23:00:00

php -r 'date_default_timezone_set("Europe/Samara"); echo date("Y-m-d H:i:s",1414267200)."\t".date("Y-m-d H:i:s",1414267200+86400)."\n" ;'
// Должно выдать: 2014-10-26 00:00:00 2014-10-27 00:00:00
Лог в помощь!
W
На сайте с 25.04.2012
Offline
87
#5

Московское время сейчас GMT-3.

Т.к. в дальнейшем перевод часов производиться не будет, можно установить GMT-3.

ln -sf /usr/share/zoneinfo/Etc/GMT-3 /etc/localtime

А можно обновить зону Moscow

cd /tmp

wget http://www.iana.org/time-zones/repository/releases/tzdata2014i.tar.gz

tar xzf tzdata2014i.tar.gz

zic europe

ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Кроме этого меняем в php.ini

date.timezone = Etc/GMT-3

Или же для PHP надо обновлять timezonedb.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий