2013-09-15 3 views
3

Я из Индии. Хостинг моего сайта в 000webhost. Я отслеживаю посещение IP-адресов и их время. но время неверно. Я думаю, что время соответствует часовому поясу сервера 000webhost. Как конвертировать их в соответствии с индийским часовым поясом.Хотите, чтобы время было разворачивающимся до моего часового пояса, а не с часового пояса серверов

это код, я использую:

date_default_timezone_set('Asia/Kolkata'); 
$query="INSERT INTO visitor_ip "; 
$query.="VALUES('{$_SERVER["REMOTE_ADDR"]}',now())"; 
+1

Также [временная отметка unix] (http://en.wikipedia.org/wiki/Unix_time) является независимой от часовой пояс, поэтому все ваши преобразования могут выполняться во время выполнения, и вы можете использовать это как основу. – rfoo

ответ

5

Один из способов ее решения выполняется запрос SQL, который первым устанавливает время подключения зоны MySQL: SET time_zone = 'Asia/Kolkata';. Более подробную информацию здесь:

Другой способ решить это с помощью даты и времени PHP функции (вне кавычек) вместо NOW() (в кавычках) для запроса время в виде строки и передачу этой строки в MySQL. date_default_timezone_set повлияет на функции даты и времени PHP.

+0

Я использую date_default_timezone_set ('Азия/Калькутта'); В php.net он говорит, что после этой функции вся функция, связанная с датой времени, будет использовать этот часовой пояс. Тогда почему его не происходит –

+1

@Jayadratha Mondal: 'date_default_timezone_set' влияет только на часовой пояс PHP, а' NOW() 'использует часовой пояс MySQL. Вот почему он не работает так, как вы его пробовали. – pts

+1

Спасибо, что сообщили об этом. Могу ли я использовать это? date_default_timezone_set ('Азия/Калькутта); $ time = date ("Y-m-d/h-i-s A", time()); $ query = "INSERT INTO visitor_ip"; $ query. = "VALUES ('{$ _ SERVER [" REMOTE_ADDR "]}', $ time)"; –

Смежные вопросы