@DeniSidorenko

Как сделать период дат для if else php?

Добрый день, есть к прмеру период 20 декабря - 11 января

Я могу получить текующую датту следующим образом
date_default_timezone_set('Europe/Moscow');
   $simpleDate = date('Y-m-d');
   echo $simpleDate;


И мне надо задать условия что если текущая дата совпадает с периодом 20 декабря 11 января, выполнить условия. Вопрос, как можно сделать что бы без не писать все дни, а только период дабы условия выполнялось?

UPD


Как сократить такое условие?
elseif($simpleDate == '12-20' || 
    $simpleDate == '12-21' || 
    $simpleDate == '12-22' || 
    $simpleDate == '12-23' || 
    $simpleDate == '12-24' || 
    $simpleDate == '12-25' || 
    $simpleDate == '12-26' || 
    $simpleDate == '12-27' || 
    $simpleDate == '12-28' || 
    $simpleDate == '12-29' || 
    $simpleDate == '12-30' || 
    $simpleDate == '12-31' ||
    $simpleDate == '01-01' || 
    $simpleDate == '01-02' || 
    $simpleDate == '01-03' || 
    $simpleDate == '01-04' || 
    $simpleDate == '01-05' || 
    $simpleDate == '01-06' ||
    $simpleDate == '01-07' || 
    $simpleDate == '01-08' || 
    $simpleDate == '01-09' || 
    $simpleDate == '01-10' || 
    $simpleDate == '01-11') {
      $logoName = 'logo-newyear.png';
  • Вопрос задан
  • 140 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
$simpleDate = date('m-d');
if ($simpleDate >= '12-20' || $simpleDate <= '01-11') {
    ...
}

P.S. А вообще, можно сделать гораздо универсальнее. Описать в конфиге интервалы и соответствующие им логотипы.
class Config
{
    public const LOGOS = [
        ['from' => '01-01', 'to' => '01-11', 'logo' => 'logo-newyear.png'],
        ['from' => '04-25', 'to' => '05-03', 'logo' => 'logo-firstmay.png'],
        ...,
        ['from' => '12-20', 'to' => '12-31', 'logo' => 'logo-newyear.png']
    ];
}
...
$simpleDate = date('m-d');
$logoName = 'logo-standard.png';
foreach (Config::LOGOS as $logoDef) {
    if ($simpleDate >= $logoDef['from'] && $simpleDate <= $logoDef['to']) {
        $logoName = $logoDef['logo'];
    }
}
Ответ написан
Комментировать
bigton
@bigton
Web-программист
if (strtotime('20.12.2021') <= time() && time() <= strtotime('11.01.2022'))
    $logoName = 'logo-newyear.png';
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
18 апр. 2024, в 07:58
500 руб./в час
18 апр. 2024, в 07:22
45000 руб./за проект
18 апр. 2024, в 01:12
150000 руб./за проект