Я использую NOW() со вставкой запроса, чтобы я мог получить currentTime при запуске запроса. Но я получаю время 12 часов в базе данных. Как я могу получить текущее время? Пожалуйста помоги.База данных Mysql, не показывающая текущую дату для функции NOW()
ответ
Это может произойти, если Timezone в конфигурации сервера отличается. Предполагая, что вы находитесь на виртуальном хостинге, попробуйте добавить следующие строки, когда вы запрашиваете:
mysql_query("SET time_zone = '+05:30';");
Источник: http://wiki.dreamhost.com/Running_web_scripts_in_your_Timezone
Else попробовать добавить следующие строки в ваш файл .htaccess
SetEnv TZ Asia/Colombo
Полный список всех Timezones http://www.php.net/manual/en/timezones.php
http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html - это может быть лучший источник, imho. – zerkms
«Попробуйте добавить следующее в ваш .htaccess файл» --- как «.htaccess» связан с ** mysql **?!?!?!?!? – zerkms
@zerkms - все о конфигурации сервера. Если вы неясны в этом, я рекомендую вам прочитать http: //support.hostgator.com/articles/get-started/general-help/can-i-change-the-server-clock-or-time-zone и http://wiki.dreamhost.com/Running_web_scripts_in_your_Timezone – coder9
Выполнить этот запрос сразу же после того, как вы были подключены к базе данных:
SET time_zone = '+05:30';
Где это действительное смещение часового пояса в кавычках.
Что делать, если я хочу установить часовой пояс для каждого подключения, которое я создаю. i.e Я не хочу включать что-либо в файл php. Нельзя ли изменить некоторые параметры конфигурации базы данных из командной строки? – rdp
@ dilip: создать ** одну функцию **, которая соединяет mysql и настраивает все, что вам нужно, и использовать ее везде. Поскольку вы не администратор mysql - вы ничего не можете изменить в этом случае. – zerkms
Но я купил веб-пространство, поэтому мне разрешено просматривать все файлы конфигурации. Не могу изменить некоторые настройки в файлах конфигурации? – rdp
Вы можете сделать что-то вроде этого
SELECT * FROM ТПС WHERE DateTime < NOW() - ИНТЕРВАЛ 12 ЧАСА
Вряд ли вы делаете в вашем SQL-запросе:
DATE_ADD (now(), INTERVAL 12 HOUR);
Это займет в настоящее время и вычесть Добавить 12 часа от к этому.
Я имел в виду добавить ... нет необходимости в -1, что ... – aqua
проверить свой темзмон mysql. –
@Shakti Singh: поставьте свой комментарий на правильный ответ, чтобы OP мог проверить его как действительный ;-) – zerkms
Shakti Singh правильный - [http://dev.mysql.com/doc/refman/5.5/ru/time-zone -support.html] –