Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как лучше сравнивать даты???
 
 автор: stas1987   (16.07.2007 в 17:53)   письмо автору
 
 

Здрасте!

Я пока еще к этому не дошел, но хочу спросить, чтоб уже знать наверняка.

Есть поле valid. В этом поле- значение, когда заканчивается срок действия.
И я прописываю в cron`е свой скрипт, которые ежедневно будет проверять всю базу, и если, грубо говоря, "сегодня больше чем valid", то запись удаляется.

Так вот. Как это организовать? Моя первая мысль - valid - это секунды. И если сегодняшний time() больше чем поле valid- запись удаляется. Я знаю, что в mysql есть работа с датами, но не проще ли мне в данном случае применить именно это конструкцию?

Заранее благодарен!

   
 
 автор: Trianon   (16.07.2007 в 18:05)   письмо автору
 
   для: stas1987   (16.07.2007 в 17:53)
 

исключительно дело вкуса.

Можно держать таймштамп события в поле DATETIME (обращаться придется в формате YYYY-MM-DD HH:MM:SS, храниться будет также) и сравнивать его с NOW() )

Можно держать таймштамп события в поле TIMESTAMP (обращаться придется в формате YYYY-MM-DD HH:MM:SS, храниться он будет в виде unixtime) и сравнивать его с NOW() )

Можно держать таймштамп события в поле INT (в формате unixtime) и сравнивать его с UNIX_TIMESTAMP() или time() по желанию)

В последнем случае проще работать, если клиенты и сервер в разных временнЫх зонах.
В первых двух проще администрировать базу.

   
 
 автор: stas1987   (16.07.2007 в 18:14)   письмо автору
 
   для: Trianon   (16.07.2007 в 18:05)
 

Спасибо.

Т.е., если мне просто нужно проверять сегодняшнее число и поля valid, то лучше и проще использовать третий вариант

   
 
 автор: Trianon   (16.07.2007 в 18:36)   письмо автору
 
   для: stas1987   (16.07.2007 в 18:14)
 

варианты 1, 2

SELECT * FROM tbl WHERE NOW() > valid 


вариант 3

SELECT * FROM tbl WHERE UNIX_TIMESTAMP() > valid 

   
 
 автор: stas1987   (16.07.2007 в 19:10)   письмо автору
 
   для: Trianon   (16.07.2007 в 18:36)
 

Огромное спасибо

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования