Выбор часового пояса

 
Посетитель
small user social cms
Медаль
Сообщений: 359
Очень нужно добавить из админки выбор часового пояса. У многих ребят хосты в другом часовом поясе, а аудитория в этом. Насколько я заметил на Инстанте эта беда исправлена, хотя раньше у меня с ними разница 2 часа была. Поможите люди добрые. laugh
Посетитель
no avatar
Сообщений: 65
жду в новом патче возможность по смене времени. т.к. хостинг у меня в москве и мне нужно добавить +2часа..
Реклама
cms
Sometime CMS Community
Посетитель
no avatar
Медаль
Сообщений: 124
Ага ! Я помнится такую тему тут поднимал. Долго тёр, но без толку. Потом она пропала в результате летнего сбоя этого сайта у хостера...<br/>Речь шла как раз о том, что при создании на форуме сообщение записывается в базу MySQL и время создания сообщения на сайте отображается Московское! Возился я возился, хостера спрашивал, Админа.. <br/>На самом сервере таймзону сменил, показывало время правильно, поставил: date_default_timezone_set('Asia/Vladivostok'); <br/>Админ сказал от мускула всё зависит..<br/>Давай я дальше.Я почитал по теме. <br/>Выполнил запрос: <br/>SELECT CONVERT_TZ( '2008-07-13 14:28:00', 'SYSTEM', 'Asia/Vladivostok' ) ;<br/>Получил результат:<br/>CONVERT_TZ('2008-07-13 14:28:00','SYSTEM','Asia/Vladivostok') <br/>NULL <br/>-----------------------------------------------------------------------------------------------<br/>Выполнил: <br/>SELECT NOW(); SET TIME_ZONE='+10:00'; SELECT NOW();<br/>Получил:<br/>SQL-запрос:<br/>SELECT NOW( ) ;# Строки: 1<br/>SET TIME_ZONE = '+10:00';# MySQL вернула пустой результат (т.е. ноль строк).<br/>SELECT NOW( ) ;<br/>NOW() <br/>2008-07-13 13:41:40 <br/>Казалось бы время перешло (без учета летнего)... <br/>Проверял на сайте (создал сообщение на форуме) - сообщения так и создаются по Московскому времени, а не по моему.<br/>На самом сайте я точно проверял время сервера, вернее:<br/>Поставил date_default_timezone_set('Asia/Vladivostok'); <br/>И для проверки (временно) ниже ещё одну строчку:<br/>
Код PHP:
  1. die (date(&#039;d.m.Y H:i:s'));
<br/>ПОКАЗАЛО время мое.<br/>Попробовал так сделать, получил:<br/>SQL-запрос: <br/>mysql_query(<br/>"SET TIME_ZONE='+10:00'"<br/>) <br/>Ответ MySQL: <br/>#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql_query("SET TIME_ZONE='+10:00'")' at line 1 <br/>--------------------------------------------------------------------------------------------------------------<br/>Версия сервера: 4.1.22<br/>----------------------------------------------------------------------------------------------------------------<br/>Попробовал еще раз. Запрос вроде прошел, только ничего после закрыти окна не показало... <br/>Но я вот про что. Время создания сообщения или темы или комментариев на сайте зависит от времени не на сервере, а от MySQL. Так мне Админ объяснил. <br/>Дак вот не смотря на все эти "манипуляции" в MySQL у меня сообщения все равно создаются по московскому. <br/>Пошел я опять на форум по мускулу, там говорят:<br/>
Время, которое показывает PHP не связано с временем, которое отображает MySQL. Вам следует каждый раз после подключения к MySQL выполнять: mysql_query("SET TIME_ZONE='+10:00'");
<br/>При этом имеется в виду, что запрос SET TIME_ZONE='+10:00' надо выполнять в PHP каждый раз после подключения.<br/>Сказали еще, что<br/>
Сообщения записываются вообще в UTC, а не по-московскому времени. Другое дело, что сервер по-умолчанию ставит время UTC+4 (или +3 в зимнее время), а Вам нужно +10. Для этого после подключения нужно установить переменную времени запросом SET TIME_ZONE='+10:00'. И все даты будут приводиться не к UTC+4, а к UTC+10 - т.е. к нужному Вам времени.
<br/>Вот так вот вобщем я навозился тогда летом с этой темой. И... забыл тогда про нее. Сейчас видимо повторю <br/> laugh
Sometime CMS Community
Посетитель
no avatar
Сообщений: 5
Ну? И? На данный момент решение вопроса есть? Как и где в коде можно добавить +8?
Sometime CMS Community
Посетитель
no avatar
Сообщений: 5

Админ instantCMS откликнись!

<br/>ответь! Как исправить часовой пояс!
Sometime CMS Community
Посетитель
no avatar
Сообщений: 5

очень надо!

Посетитель
small user social cms
Медаль
Сообщений: 763
Да, тема актуальная. Нужно сделать такой механизм. В других cms это решено - значит решение есть. Очень ждем.<br/>PS Посмотрел как сделано в другой используемой мною системе (wcps)<br/>Значит введена переменная $portal_time отвечающая за разницу в часовых поясах.<br/>Дальше, там где нужно зафиксировать время выполняется операция $korrekt_time=time()+$portal_time*3600;<br/>и в базе уже фиксируется $korrekt_time.<br/>При выводе информации из базы уже ничего (если я ничего не пропустил) не делается - так как время в базе сидит уже нужное.<br/>
Редактировалось: 1 раз (Последний: 11 февраля 2009 в 12:48)
Sometime CMS Community
Посетитель
no avatar
Сообщений: 2
Вот вам не решение конечно но временная мера, что бы хоть пока в базу летело правильное время.
В config.inc.php я дописал снизу
//////////////////////////////////////////////////////
if(date(H)==19)
{
$t=23;
}else{
$t = date(H);
$t = $t+4;
}
;
if(date(H)==20)
{
$t=00;
}else{
$t = date(H);
$t = $t+4;
}
;
if(date(H)==21)
{
$t=01;
}else{
$t = date(H);
$t = $t+4;
}
;
if(date(H)==22)
{
$t=02;
}else{
$t = date(H);
$t = $t+4;
}
;
if(date(H)==23)
{
$t=03;
}else{
$t = date(H);
$t = $t+4;
}
;
$time = date("Y-m-d ".$t.":i:s");

Где и посидев с ручкой в циклах if выставляем те цифры что бы у нас 25, 26 часов не получилось.
у меня поправка +4.


А везда в коде где встретим конструкцию now() заменяем ее на ’$time’.
Sometime CMS Community
Посетитель
no avatar
Медаль
Сообщений: 124
Геморой это/ А тема то древняя... Надо бы сделать через админку. Типа как вот в ВДУ и некоторых иных cms..
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 347
SAKH:

Геморой это/ А тема то древняя... Надо бы сделать через админку. Типа как вот в ВДУ и некоторых иных cms..
Ребята, эта тема уже закрыта! Админ однажды ответил как со временем всё решить... Сейчас я даже и не припомню где точно его ответ, но суть выкладываю:
в файле /includes/database.inc.php добавить строчку: mysql_query("SET TIME_ZONE=’+6:00’") где +6:00 это разница во времени которую нужно получить (между временем сервера и местным на сайте).
И всё, никакого геморроя!!!
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 347
Блин, вот и нашёл ещё про это:
http://instantcms.ru/forum/0/thread698-1.html
Редактировалось: 2 раз (Последний: 1 апреля 2009 в 12:54)
Посетитель
small user social cms
Медаль
Сообщений: 146
вовсе не закрыта тема.
для местного сайта, может и решение с правкой часового пояса сервера на свой, а для сайта с посещаемостью со страны такое решение неприемлемо.
VPS от 7.65$ - Включен ISP Manager, 256Ram, 500Mhz CPU и 5Gb - использую уже почти два года.
Sometime CMS Community
Посетитель
no avatar
Медаль
Сообщений: 304
да, безусловно не мёд... Но нужно ждать... Внедрят наверно эту функцию разработчики
Sometime CMS Community
Посетитель
no avatar
Медаль
Сообщений: 412
Поднимаю тему вновь так как только понадобилось для проекта ибо пользователи жалуются на левое время. Хотелось чтобы в регистрации при указании города время автоматом становилось как надо для города.
Посетитель
small user social cms
Сообщений: 72
Господа, на данный момент присутствует решение этой проблемы???
у меня разница с Москвой +6 и очень не удобно пользователям ориентироваться на сайте.
Помогите!
Мой Айхал - www.aykhal.info
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.