• Авторизация


php vs мозг 03-10-2006 18:23 к комментариям - к полной версии - понравилось!


Надо произвести сравнение текущей даты - (минус) 10 дней и даты, из БД...

Теоретически, это выглядит так:
code:

if ($n['date'] >= date("d.m.y", mktime(0,0,0,date("m"),date("d")-10,date("y"))))


где $n['date'] - БД преобразованная в ассоциативный массив, и поле даты соответственно...

Дата везде формата дд.мм.гг

Записать данность можно впринципе по разному, но смысл один и тот же...

Суть проблемы:
Сравнивает только дни... месяцы и года для него не важны, как исправить?
вверх^ к полной версии понравилось! в evernote
Комментарии (7):
В лоб и по твоим условиям можно так

code:
$a = split('.',$n['date']);
$db_date = mktime(0,0,0,$a[1],$a[0],$a[2]);
if ($db_date >= mktime(0,0,0,date("m"),date("d")-10,date("y")))
Bagdad 03-10-2006-18:43 удалить
Угу, он сравнивает строку. можно вынести вперед год:
if($n['date'] >= date("y.m.d", mktime(0,0,0,date("m"),date("d")-10,date("y"))))
Должно работать.
Bagdad 03-10-2006-18:48 удалить
Чуть не забыл ) Данные в $n['date'] тоже надо представить в гг.мм.дд
Aeron_Dae 03-10-2006-19:10 удалить
Аналогичная, вашим решениям, запись:
code:

$dtn = explode('.', $n['date']);
if (date("d.m.y", mktime(0,0,0,$dtn[1],$dtn[0],$dtn[2])) >= date("d.m.y", mktime(0,0,0,date("m"),date("d")-10,date("y"))))



Вроде всё ок... И пашет, но почему-то 30.03.06 вполне отвечает требованиям, так же, как и 27.09.06
Вообщем проблема не решена...
Aeron_Dae, да, вышло не влоб, но по лбу ;) Во-первых date("d")-10 же может отрицательное число дать, особенно в начале октября ;) Во-вторых ты усложнил логику, хотя код и будет рабочий. Зачем снова приводить к date("d.m.y", ...) - это лишняя работа ПХП-е?
Делай лучше так:
code:
$dtn = explode('.', $n['date']);
if (mktime(0,0,0,$dtn[1],$dtn[0],$dtn[2]) >= strtotime('-10 day 00:00'))
Aeron_Dae 03-10-2006-19:51 удалить
Вооо!!! Спасибо...
Меня-то strtotime смущал тем, что там только определенные форматы даты есть...
Хотел его сравнить все время с date на основе mktime, а всё оказалось просто...
Бесформатное сравнение...

Спасиб, ты рулишь!
ToSHiC 03-10-2006-22:35 удалить
можно вообще внутри бд сравнить :)


Комментарии (7): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник php vs мозг | community_coding - Сообщество программистов | Лента друзей community_coding / Полная версия Добавить в друзья Страницы: раньше»