2011-01-22 3 views
1

Я использую NOW() со вставкой запроса, чтобы я мог получить currentTime при запуске запроса. Но я получаю время 12 часов в базе данных. Как я могу получить текущее время? Пожалуйста помоги.База данных Mysql, не показывающая текущую дату для функции NOW()

+6

проверить свой темзмон mysql. –

+0

@Shakti Singh: поставьте свой комментарий на правильный ответ, чтобы OP мог проверить его как действительный ;-) – zerkms

+0

Shakti Singh правильный - [http://dev.mysql.com/doc/refman/5.5/ru/time-zone -support.html] –

ответ

1

Это может произойти, если 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

+0

http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html - это может быть лучший источник, imho. – zerkms

+0

«Попробуйте добавить следующее в ваш .htaccess файл» --- как «.htaccess» связан с ** mysql **?!?!?!?!? – zerkms

+0

@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

3

Выполнить этот запрос сразу же после того, как вы были подключены к базе данных:

SET time_zone = '+05:30'; 

Где это действительное смещение часового пояса в кавычках.

+0

Что делать, если я хочу установить часовой пояс для каждого подключения, которое я создаю. i.e Я не хочу включать что-либо в файл php. Нельзя ли изменить некоторые параметры конфигурации базы данных из командной строки? – rdp

+0

@ dilip: создать ** одну функцию **, которая соединяет mysql и настраивает все, что вам нужно, и использовать ее везде. Поскольку вы не администратор mysql - вы ничего не можете изменить в этом случае. – zerkms

+0

Но я купил веб-пространство, поэтому мне разрешено просматривать все файлы конфигурации. Не могу изменить некоторые настройки в файлах конфигурации? – rdp

-1

Вы можете сделать что-то вроде этого

SELECT * FROM ТПС WHERE DateTime < NOW() - ИНТЕРВАЛ 12 ЧАСА

-1

Вряд ли вы делаете в вашем SQL-запросе:

DATE_ADD (now(), INTERVAL 12 HOUR);

Это займет в настоящее время и вычесть Добавить 12 часа от к этому.

+0

Я имел в виду добавить ... нет необходимости в -1, что ... – aqua