2013-03-27 2 views
0

Я пытаюсь сделать фильтр для определенного дня недели.Mysql будний день, который не возвращается правильно

моего PHP код включает в себя что-то вроде

Select * from table_name where Weekday(DATE(project_surveydate)) = 0; 

Если я использую эту строку в PhpMyAdmin, она возвращает правильные записи для всех записей, которые в понедельник.

Однако, когда я запускаю этот код через свой php-скрипт, он возвращает некоторые записи в воскресенье.

Тип данных project_surveydate - это метка времени.

Я заметил, что он возвращает только воскресное воскресенье, которое находится в 21:00:00 или более.

например, если project_surveydate (воскресенье) 2012-05-03 13:25:14, он не будет включен в него. ЕСЛИ это 2012-05-03 21:25:14, он будет включен в результаты.

Я действительно не знаю, что вызывает это. Любая помощь будет оценена по достоинству.

Благодаря

+2

Каков ваш часовой пояс? – RedBaron

+2

Являются ли эти примеры законными? 2012-05-03 - четверг. – Octopus

+0

Мой часовой пояс EST. Похоже, что поиск основан на текущем часовом поясе пользователя. Так что мне нужно настроить временную зону сервера, соответственно, базу в пользовательском часовом поясе. – byebyebyezzz

ответ

0

Похоже, ваш часовой пояс сервера влияет на результаты. Вы можете установить часовой пояс на основе каждого соединения:

SET time_zone = '+00:00'; 

MySQL преобразует значения TIMESTAMP из текущего часового пояса UTC для хранения, и обратно от UTC к текущему часовому поясу для поиска. Вы можете изменить часовой пояс по умолчанию для mysql несколькими способами, задокументированными здесь: http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html

+0

таймшоны не хранятся в поле даты и времени MySQL. re: ваше редактирование: тогда, если он будет преобразован из текущего установленного часового пояса и обратно, почему они не совпадают? – Octopus

+0

Нет, но временная зона сервера используется при получении временных меток. – SteveP

+0

Моя догадка также заключается в том, что часовые пояса занимаются смешным делом, но это должно повлиять на _both_ phpMyAdmin и скрипт – RedBaron

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