Тема: Время пользователей (Сайт/Форум/Архив закрытых тем) YETIZLO (26 Apr 2016 в 09:55) Это не баг, это настройки времени стоят такие. Посмотри как реализовать отображение правильно времени в разных временных зонах. Angelok0803 (26 Apr 2016 в 10:00) YETIZLO, Это где смотреть? Zed (26 Apr 2016 в 10:07) https://www.google.ru/url?sa=t&source=web&rct=j&url=http://php.net/manual/ru/function.date-default-timezone-set.php&ved=0ahUKEwjHipPJ3qvMAhXJFJoKHRVOAqEQFggaMAA&usg=AFQjCNF1KKPMjNpa_jqUg3LVLqozf0l8aQ&sig2=OyO2ySXSxq5nri1ZNn334Q Angelok0803 (26 Apr 2016 в 10:15) Zed, Но три дня назад все хорошо работало. И я не чего не редачил. Может быть в связи с переездом на другой хост? Или что то с таблицей. Какие еще есть варианты и решения? Jvk35 (26 Apr 2016 в 10:34) строчку [b]php_value date.timezone Europe/Moscow[/b] добавь в htaccess и будет все норм [i]Добавлено:[/i] Установка временной зоны в mysql из php делается следующим образом: 1. <? $db->query(\"SET time_zone = \'Europe/Moscow\'\"); ?> Установка временной зоны в php для функций работы с датой и временем : 2. <? if (function_exists(\'date_default_timezone_set\')) date_default_timezone_set(\'Europe/Moscow\'); ?> Временные зоны: Europe/Kiev Europe/London Europe/Minsk Europe/Moscow Europe/Riga Europe/Samara Europe/Simferopol Europe/Tallinn Europe/Tiraspol Europe/Uzhgorod Europe/Volgograd Еще временные зоны можно установить следующим образом: — в .htaccess или httpd.conf следует добавить строку вида php_value date.timezone Europe/Moscow — в php.ini строку вида date.timezone = Europe/Moscow Для mysql: — default-time-zone=’Europe/Moscow’ или запросом — SET GLOBAL time_zone = ‘Europe/Moscow’ Королева (26 Apr 2016 в 12:57) Angelok0803, это из за переезда. Точнее на хостинге так настроено. Мне сами хостеры исправляли, но можно и вариант описанный выше) Angelok0803 (27 Apr 2016 в 09:13) Jvk35, Запрос сделал, и htaccess прописал. Но все равно, у новых юзеров что регаются, опредиляет не 8 часов а 18 Jvk35 (27 Apr 2016 в 09:49) --Цитата-- Angelok0803 (27 Apr 2016 в 09:13): Jvk35, Запрос сделал, и htaccess прописал. Но все равно, у новых юзеров что регаются, опредиляет не 8 часов а 18 ---------- Angelok0803, значит в хостинге проблема!Пиши в тикеты Angelok0803 (27 Apr 2016 в 12:06) Jvk35, Поставил другой двиг и подключил к той таблице, и таже проблема. Какие варианты с таблицей могут быть? Zed (27 Apr 2016 в 12:33) --Цитата-- Angelok0803 (27 Apr 2016 в 12:06): Jvk35, Поставил другой двиг и подключил к той таблице, и таже проблема. Какие варианты с таблицей могут быть? ---------- А где у тебя сервера хостинга находятся спроси Angelok0803 (27 Apr 2016 в 15:13) Zed, Я на хостинге keo.su Zed (27 Apr 2016 в 15:38) --Цитата-- Angelok0803 (27 Apr 2016 в 15:13): Zed, Я на хостинге keo.su ---------- Angelok0803, функция time() что показывает Angelok0803 (27 Apr 2016 в 17:19) Zed, Стандартное, не чего не менял Если так: time(); То не чего. А так: $time - то число времени 1461766888. function ltime($time,$full=0) { global $user; $time=time()-$time; if ($time<60) $ltime=$time.\' с\'; elseif ($time>=60 && $time<3600) $ltime=round($time/60).\' мин\'; elseif ($time>=3600 && $time<86400) $ltime=round($time/3600).\' ч\'; elseif ($time>=86400 && $time<2592000) $ltime=round($time/86400).\' дн\'; else $ltime=round($time/(3600*24*30)).\' мес\'; if ($full==1) $ltime.=\' назад\'; elseif ($full==2) $ltime.=null; else $ltime.=\' &laquo;\'; if ($time==0) $ltime=\'только что\'; return $ltime; } Jvk35 (27 Apr 2016 в 23:14) --Цитата-- Angelok0803 (27 Apr 2016 в 17:19): Zed, Стандартное, не чего не менял Если так: time(); То не чего. А так: $time - то число времени 1461766888. function ltime($time,$full=0) { global $user; $time=time()-$time; if ($time<60) $ltime=$time.\' с\'; elseif ($time>=60 && $time<3600) $ltime=round($time/60).\' мин\'; elseif ($time>=3600 && $time<86400) $ltime=round($time/3600).\' ч\'; elseif ($time>=86400 && $time<2592000) $ltime=round($time/86400).\' дн\'; else $ltime=round($time/(3600*24*30)).\' мес\'; if ($full==1) $ltime.=\' назад\'; elseif ($full==2) $ltime.=null; else $ltime.=\' &laquo;\'; if ($time==0) $ltime=\'только что\'; return $ltime; } ---------- Angelok0803, пробуй <?php function ltime($time = NULL) { if(!$time) $time = time(); $data = date(\'j.n.y\', $time); if($data == date(\'j.n.y\')) $res = \'Сегодня \'. date(\'G:i\', $time); elseif($data == date(\'j.n.y\', time() - 86400)) $res = \'Вчера \'. date(\'G:i\', $time); else { $m = array(\'0\',\'Янв\', \'Фев\', \'Мар\', \'Апр\', \'Май\', \'Июн\', \'Июл\', \'Авг\', \'Сен\', \'Окт\', \'Ноя\', \'Дек\'); $res = date(\'j \'. $m[date(\'n\', $time)] .\' Y в G:i\', $time); } return $res; } ?> Angelok0803 (30 Apr 2016 в 23:11) Jvk35, Вставил. Не помогло. После регистрации, пользователь видит время в 10 часов разницы. После настроек в профиле, все нормально. Королева (1 May 2016 в 08:13) Angelok0803, в тикеты пиши. Nnm (1 May 2016 в 12:35) чудите вы парни лишнего все проще <?php date_default_timezone_set(\"UTC\"); //часовой пояс по Гринвичу $time = time(); // Вот это значение отправляем в базу чтобы небыло путаницы $offset = 3; // Допустим, у пользователя смещение относительно Гринвича составляет +3 часа $time += 3 * 3600; // Добавляем 3 часа к времени по Гринвичу echo date(\"Y-m-d H:i:s\", $time); //Выводим. время пользователя, согласно его часовому поясу ?> Jvk35 (2 May 2016 в 10:17) --Цитата-- Nnm (1 May 2016 в 12:35): чудите вы парни лишнего все проще <?php date_default_timezone_set(\"UTC\"); //часовой пояс по Гринвичу $time = time(); // Вот это значение отправляем в базу чтобы небыло путаницы $offset = 3; // Допустим, у пользователя смещение относительно Гринвича составляет +3 часа $time += 3 * 3600; // Добавляем 3 часа к времени по Гринвичу echo date(\"Y-m-d H:i:s\", $time); //Выводим. время пользователя, согласно его часовому поясу ?> ---------- Nnm, умело гуглишь зачем ему еще плюс 3 часа к 10? [i]Добавлено:[/i] в общем автор пиши в лс помогу Nnm (2 May 2016 в 15:30) Jvk35, ну если автор гуглить не умеет то кто то должен, а насчет 10 это не обязательно по гринвичу... к твоему сведению функция time() выводит время сервера, а часовые пояса везде разные прикинь... да и по тому как ты ответил я могу себе представить как ты ему \" помочь намерен\" думаю его сайт потом Билл Гейц не откачает... вижу по функциям ниже особо никто на обработку времени не замарачивается. http://smksignal.000a.biz/mod/guest.php функция обработки времени занимает 6 строк и то потому что я вывожу прошедшее время и день недели по русски, и заметь часы идут точно по москве [i]Добавлено:[/i] на читай это просто невероятно но земля круглая, https://ru.m.wikipedia.org/wiki/Часовой_пояс а еще оказывается эти самые пояса умеют определять в пыхе одной функцией http://php.net/manual/ru/function.date-default-timezone-set.php ну думаю открытий для тебя на сегодня хватит, а когда поймешь что не на всех поясах разница с сервером автора в 10 часов можешь продолжить умничать [i]Добавлено:[/i] на читай это просто невероятно но земля круглая, https://ru.m.wikipedia.org/wiki/Часовой_пояс а еще оказывается эти самые пояса умеют определять в пыхе одной функцией http://php.net/manual/ru/function.date-default-timezone-set.php ну думаю открытий для тебя на сегодня хватит, а когда поймешь что не на всех поясах разница с сервером автора в 10 часов можешь продолжить умничать Vity90 (3 May 2016 в 05:59) кео рулит)))) Jvk35 (3 May 2016 в 08:59) Nnm, ага, это мнения новичка) Гуглишь и думаешь умен?)Ты даже не понял за что функция отвечает) Читай первую страницу и поймешь. [i]Добавлено:[/i] Автор пробуй ето вставить в файл sys/inc/start.php если через штекер не работает <?php putenv (\"TZ = Europe/Moscow\"); ?> Nnm (3 May 2016 в 09:07) Jvk35, новичка? а ничего что я на два года раньше тебя в коддинг пришел? .лол. а для чего функция нужна я и без тебя знаю. и ниже дан пример конкретного ее применения не согласен? напиши свой вариант решения а потом я свой и разберем оба а народ оценит Скиталец (3 May 2016 в 09:12) Jvk35, тоесть стандартные функции времени ты предлагаешь не менять? .лол. и в том чтобы пользоваться поисковиком ничего плохого нет. я вообще считаю это даже полезно. RuSInet (3 May 2016 в 09:13) Vity90, не оффтопь Jvk35 (3 May 2016 в 09:18) Скиталец, я вообще не советую даже преминять функцию time(); если б у него был прямой доступ к настройке php в панеле CPanel это есть) А так решается одной строкой как видишь и харе оффтопить. RuSInet (3 May 2016 в 09:24) Давайте человеку поможем) и не будем обсуждать кто лучше, а кто хуже, если хотите, создайте новую тему в соответствующем разделе. Скиталец (3 May 2016 в 09:29) Jvk35, а я не советую лепить ненужные директивы... но это не главное. интересно что такой метод еще больше уговняет код функции vremja() поскольку каждый юзвер не сможет изменить время отбражаемое на сайте... не подумал что на одном сайте могут сидеть люди с сибири, урала, украины и белорусии в итоге тебе для каждого придется плюсовать или вычетать лишние часы. (2 строка моего примера) Jvk35 (3 May 2016 в 09:32) --Цитата-- Скиталец (3 May 2016 в 09:29): Jvk35, а я не советую лепить ненужные директивы... но это не главное. интересно что такой метод еще больше уговняет код функции vremja() поскольку каждый юзвер не сможет изменить время отбражаемое на сайте... не подумал что на одном сайте могут сидеть люди с сибири, урала, украины и белорусии в итоге тебе для каждого придется плюсовать или вычетать лишние часы. (2 строка моего примера) ---------- Скиталец, если что-то не ясно пиши в лс новичек.А сдесь не оффтопь и кстати не я ведь писал функцию времени это самое главное.Я лишь помог настроить времья по умолчанию. Скиталец (3 May 2016 в 09:48) --Цитата-- Jvk35 (3 May 2016 в 09:32): Скиталец, если что-то не ясно пиши в лс новичек.А сдесь не оффтопь и кстати не я ведь писал функцию времени это самое главное.Я лишь помог настроить времья по умолчанию. ---------- Jvk35, нет ты реально как осел себя ведешь... :) даже смешно ей богу. помоему вопрос справедливый. я показал как подстроить время под каждого юзверя и не напрягать при этом сервер, название темы да и суть этот вопрос и отражают а ты предлагаешь весь сайт настроить под другое время которое не факт что не даст разрыва в 10 часов со временем других юзверей дошло или тебе популярно объяснить что разница между Иркутском и Сочи например 8 часов? или ты думаешь что все кто на сайте сидят это люди с одного меридиана? и если я как ты выражаешся новичок это понимаю а ты старичок нет то это уже диагноз RuSInet (3 May 2016 в 09:50) Хватит оффопить и без оскорблений! А то баны пойдут уже! Скиталец (3 May 2016 в 09:54) RuSInet, ладно не крой тему я сейчас социал скачаю перепишу функцию. Dreamer (3 May 2016 в 10:00) Возможно причина на хостинге, так как на других хостингах я проверял, было всё нормально, а сейчас вы пытаетесь настроить функцию времени под хостинг. Angelok0803 (2 Jun 2016 в 08:47) Уже все перепробывал( Хост кео, там с хостом точно проблемы нету. Дело в двиге Mobiaaa (2 Jun 2016 в 11:19) Angelok0803, Начнём с \"нуля\" Проверим всё же часовой пояс и время echo date(\"H:i\");//Выводит текущее время час/мин Впишите этот код в отдельный файл от движка, и проверьте какое время возвращается Angelok0803 (2 Jun 2016 в 11:54) Mobiaaa, Возвращает правельное время! Angelok0803 (7 Jun 2016 в 17:21) Mobiaaa, Так что?) Mobiaaa (8 Jun 2016 в 14:50) Angelok0803, а в базу при регистрации какой часовой пояс записывается? Angelok0803 (9 Jun 2016 в 09:24) Mobiaaa, Незнаю. Но вот у меня 7:00 утра, при реге выдает 17:00. Где это смотреть? Mobiaaa (10 Jun 2016 в 23:21) Angelok0803, таблица user date_reg date_last поля, если не ошибаюсь + time_sdvig посмотрите какой Angelok0803 (11 Jun 2016 в 02:12) Mobiaaa, set_timesdvig: 10 Mobiaaa (11 Jun 2016 в 23:29) Angelok0803, значит у этого пользователя время будет +10 часов socio (11 Jun 2016 в 23:35) А разве 17 минус 10 не равно 7, и как бы в конце концов 0 вместо 10 не ответ? )) Mobiaaa (12 Jun 2016 в 00:48) socio, Почему \"минус\" то? Число 10 без знака, значит \"плюс\" Автору теперь стоит глянуть структуру таблицы user Не прописан ли там set_time_sdvig default 10; Или же в регистрации, insert into socio (12 Jun 2016 в 01:02) --Цитата-- Mobiaaa (12 Jun 2016 в 00:48): socio, Почему \"минус\" то? Число 10 без знака, значит \"плюс\" Автору теперь стоит глянуть структуру таблицы user Не прописан ли там set_time_sdvig default 10; Или же в регистрации, insert into ---------- Mobiaaa, А нельзя везде, касаемо, заменить все цифры 10 и любые на 0, шоб наверняка, и пусть себе меняют потом заново отдельно, а общее 0 , ну у меня тоже всегда время сайта общее непонятно какое, так и не понял, раз у нее разница вместо 7 - 17, то есть 10, то куда крутить? ) Angelok0803 (12 Jun 2016 в 15:44) --Цитата-- Mobiaaa (12 Jun 2016 в 00:48): socio, Почему \"минус\" то? Число 10 без знака, значит \"плюс\" Автору теперь стоит глянуть структуру таблицы user Не прописан ли там set_time_sdvig default 10; Или же в регистрации, insert into ---------- Mobiaaa, Дааааааа. То что надо. Дефаулт 10 был место 0. Спасибо огромное. Вроде бы и элементарное, а заставило по мучатся)))) Ps. Всем неравнодушных огромное спасибо. Тему можно крыть Mobiaaa (13 Jun 2016 в 10:44) Angelok0803, Да не за что ;) Мр. Форум (13 Jun 2016 в 12:57) [red]Тему закрыл Админ форума Zed[/red] Мр. Форум (13 Jun 2016 в 12:58) [red]Тему переместил Админ форума Zed из раздела Помощь мастерам в раздел Архив закрытых тем[/red] Источник: http://dcms-social.ru/forum/17/16/61521/