[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Время...
ApuktaChehov
Вот интересный вопрос.
Сейчас я думаю, как лучше сделать.

Значит, время у меня записывается в числах(от 1970г.), т.е. функцией time().
Хранится оно в бд.

Когда юзер генерирует отчет, он выбирает месяц и год.
Соответственно нужно, установить интервал между первым и последним днем выбранного месяца, в цифрах.

P.S. Как, кстати, такое время называется?

Думаю вот как:
нужно узнать число у первой и последней секунды выбранного месяца.
А потом сформировать запрос типа:

SELECT * FROM table WHERE time > 'первая секунда' AND time < 'последняя секунда'



Спустя 9 минут, 15 секунд (29.12.2009 - 14:51) VolCh написал(а):
Юникс таймштамп оно называется smile.gif Вот только к чему такие сложности?

Спустя 30 секунд (29.12.2009 - 14:52) twin написал(а):
Можно и так, только >= и <= Еще учти летнее и зимнее время. А вообще проще отформатировать.

Спустя 2 минуты, 9 секунд (29.12.2009 - 14:54) glock18 написал(а):
http://dev.mysql.com/doc/refman/5.1/en/dat...n_timestampdiff

если даты нет, а только время, то есть time_to_sec и timediff. выбирай что угодно

Спустя 1 час, 11 минут, 1 секунда (29.12.2009 - 16:05) ApuktaChehov написал(а):
И так.
Спасибо за ссылочку, я вот что сделал:

делаем запрос:

SELECT TIMESTAMPDIFF(SECOND,'1970-01-01 00:00:00','$date_start')

SELECT TIMESTAMPDIFF(SECOND,'1970-01-01 00:00:00','$date_end')

date_start - это месяц с днем 01.
date_end - это месяц с последним днем.

возвращается 2 числа, которые являются интервалом. И теперь делаем еще один запрос и сравниваем.

Я в тут сторону думаю?
Или лучше при выводе в цикле, отформатировать каждую дату, а то что будет иметь удовлетворяющую дату - выводить, как сказал twin?

Спустя 4 минуты, 19 секунд (29.12.2009 - 16:09) glock18 написал(а):
ApuktaChehov
ээээ... слов нет. так усложнить, так усложнить...

Спустя 1 минута, 9 секунд (29.12.2009 - 16:10) ApuktaChehov написал(а):
Ну простите, я не умею по другому, покажите пожалуйста!!!

Спустя 7 часов, 29 минут, 25 секунд (29.12.2009 - 23:40) ApuktaChehov написал(а):
Никто не подскажет мне как сделать правильно?

Спустя 28 минут, 23 секунды (30.12.2009 - 00:08) twin написал(а):
Дык что нужно то, выборка за месяц или за какой то введенный интервал в секундах?
Если первое, посмотри в сторону операторов DATE_FORMAT и BETWEEN к примеру. Впрочем и второе так же можно решить.

Спустя 8 часов, 41 минута, 50 секунд (30.12.2009 - 08:50) ApuktaChehov написал(а):
В базе дата создания заказа хранится в UNIX_TIMESTAMP.
А скрипт у пользователя генерирует дату в месяц.год (например 12.2009), так как отчеты за месяц.

Мне нужно выбрать только те заказы, которые были созданы в этом месяце.

Вот я и не знаю как это лучше(правильно) сделать.

Спустя 1 час, 33 секунды (30.12.2009 - 09:51) ApuktaChehov написал(а):
Все, я сделал. Вот так:
с помощью mktime() перевел дату от юзера в UNIX_TIMESTAMP, а потом создал запрос выборки с интервалом от и до.

Всем спасибо!


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.