Доброе время суток, уважаемые форумчане! Помогите пожалуйста упростить код, который я (новичок и чайник) написал: Код (Text): <?php $nowDay = date ('d'); $nowMonth = date ('n'); $start_day = "31"; $end_day = "1"; $start_month = "12"; $end_month = "1"; if ($nowMonth >= $start_month) { if ($nowMonth <= $end_month) { echo "Ошибка 2"; } else { if ($nowDay >= $start_day) { if ($nowDay <= $end_day) { echo "Конец мероприятия"; } else { echo "Сообщение"; } } else { echo "Ошибка 3"; } } } else { echo "Ошибка 1"; } ?> Суть тут проста, нужно выводить сообщение с определенного дня и месяца по другие дни другого месяца. Если есть другие варианты кода, готов выслушать Ваши предложения. Заранее спасибо!
Код (PHP): $now = time(); $start= mktime(0 ,0 ,0 ,12,31,2013); // точка начала мероприятия $end = mktime(23,59,59,1 ,1 ,2014); // точка окончания мероприятия if ($now<$start) { echo 'время ДО мероприятия'; } else if ($now>$end) { echo 'время ПОСЛЕ мероприятия'; } else { echo 'Сообщение! Мероприятие в процессе!'; }
runcore, спасибо! Но мне не очень удобно через mktime (). Есть ли еще варианты, но без привязки к году? Заранее спасибо! И с наступающим Вас!
Код (PHP): $start_md = '1231'; // mmdd $end_md = '0101'; // mmdd //------------------------- $now = date("Ymd"); $start = date('Y').$start_md; // yyyymmdd $end = date('Y').$end_md; // yyyymmdd if ($start>$end) $end += 10000; // yyy(y+1)mmdd if ($now<$start) { echo 'время ДО мероприятия'; } else if ($now>$end) { echo 'время ПОСЛЕ мероприятия'; } else { echo 'Сообщение! Мероприятие в процессе!'; }
Что значит "без привязки к году"? В дате есть год. Ты хочешь повторяющееся событие запрограммировать?
artoodetoo, да Вы правильно поняли суть. То есть этим скриптом будет выводиться информация о государственных праздниках (23 февраля, 8 марта и т.д. и т.п.). Так как проект заказали люди, которые вообще ничего не понимают в программирование, то хотелось бы облегчить себе жизнь и не лезть постоянно править код. runcore, спасибо за интересный вариант!