Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 09.09.2013, 23:09   #1
ms9
Продвинутый
 
Регистрация: 31.05.2010
Сообщений: 65
По умолчанию Разница времени, отображаемого в FE и BE на +1 час

Здравствуйте!

Столкнулся с любопытной проблемой, которая проявляет себя в том, что в бэкэнде и фронтэнде время отображается с разницей +1 час.

Проблему решил заплаткой в экстеншине, который отдает время в FE так:

PHP код:
... $row['some_row']-60*60 ... 
Но есть вероятность, что проблема может проявить себя заново после смены летного времени на зимнее.

Нечно подобное тут и тут.

Версия TYPO3 4.7.10. Возможно, до меня её апдейтили с более ранней версии.

PHP timezone установлена корректно.

Возможно, кто-либо сталкивался или без столкновений знает, как решить проблему более корректно, чем хардкодом?
ms9 вне форума   Ответить с цитированием
Старый 10.09.2013, 14:28   #2
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Возможно разница во времени в PHP и MySQL?
dmartynenko вне форума   Ответить с цитированием
Старый 10.09.2013, 15:51   #3
ms9
Продвинутый
 
Регистрация: 31.05.2010
Сообщений: 65
По умолчанию

Спасибо за гипотезу!

Проверяю так.

Код:
SELECT name FROM mysql.time_zone_name;
Отдает 0. Все таблицы про время в MYSQL пусты.

Код:
SELECT @@global.time_zone, @@session.time_zone;
Отдает дважды SYSTEM.

Я так понял, что время в MySQL стоит системное. Системное время настроено правильно, также как и время в PHP.

Однако, пытаюсь заполнить базу недостающими данными.

Команда mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql загрузила в базу 1715 записей, некоторые пропустила.

Код:
SET GLOBAL time_zone =  "Europe/Minsk";
Код:
SET SESSION time_zone =  "Europe/Minsk";
Установилось соответствующее время.

Обновил кэш в TYPO3. Результат со временем без изменений. +1 час

Откатываю время в MySQL обратно.

Код:
SET GLOBAL time_zone = 'SYSTEM';
Использовал для работы с MySQL это, это и это.

Т.о. дело не в разнице во времени м-ду PHP и MySQL.
ms9 вне форума   Ответить с цитированием
Старый 10.09.2013, 16:24   #4
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

А если в одном и том же скрипте сделать ?
Код:
print_r date(DATE_ATOM, time());
print_r mysql_fetch_array(mysql_query("SELECT NOW()"));
dmartynenko вне форума   Ответить с цитированием
Старый 10.09.2013, 16:38   #5
ms9
Продвинутый
 
Регистрация: 31.05.2010
Сообщений: 65
По умолчанию

2013-09-10T14:37:17+03:00

Array
(
[0] => 2013-09-10 14:37:17
[NOW()] => 2013-09-10 14:37:17
)
ms9 вне форума   Ответить с цитированием
Старый 08.10.2013, 13:21   #6
Dmitry Dulepov
Продвинутый
 
Аватар для Dmitry Dulepov
 
Регистрация: 28.04.2010
Сообщений: 73
По умолчанию

Проверить serverTimeZone и phpTimeZone в Install tool.
Dmitry Dulepov вне форума   Ответить с цитированием
Старый 09.10.2013, 14:42   #7
ms9
Продвинутый
 
Регистрация: 31.05.2010
Сообщений: 65
По умолчанию

Благодарю за совет, однако изменение этих свойств ни к чему не привело. Было решено умножить данные в поле времени на *60*60.
ms9 вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кэширование расширения (4 варианта: кэшировать, не кэшировать, управлять, по времени. Ивано Разработка расширений / TYPO3 extension development 15 24.02.2013 00:30


Часовой пояс GMT +4, время: 22:59.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория