Сбрасывать содержимое каждый месяц - PullRequest
1 голос
/ 26 мая 2020

В настоящее время у меня есть код, который сбрасывается каждую субботу, при этом содержимое отображается всю неделю до следующей субботы. Я хотел бы использовать тот же подход для ежемесячной основе (отображать контент за весь месяц до следующего для нового контента), и я не могу заставить его работать. Еженедельный код такой:

$dayoftheweek = date("l");
$todayis = date('Y-m-d');

if($dayoftheweek == 'Saturday') { // The day it updates
    $dateUpdate = $todayis; 
} else {  
    $dateUpdate = date("Y-m-d", strtotime( "$todayis last Saturday" )); // The day it updates
}

// Content to display
switch($dateUpdate) {
    case '2020-05-02':
        // Content here
    break;
    case '2020-05-09':
        // Content here
    break;
    default:
        // Display content when ran out of rounds
}

Я следую тому же шаблону кода для ежемесячной базы, я делаю что-то не так с strtotime или что-то в этом роде? Вот ежемесячный код, который у меня есть прямо сейчас:

$firstofmonth = date("d");
$thisday = date('Y-m-d');

if($firstofmonth == '01') {
    $MonthlyUpdate = $thisday;
} else {
    $MonthlyUpdate = date("Y-m-d", strtotime("first day of -1 month"));
}

Содержимое, которое я должен иметь на ежемесячной основе, не отображается с приведенным выше кодом, когда я устанавливаю дату обращения на '2020-05- 01 '. Опять же, я что-то не так делаю для strtotime или что-то в этом роде? Или есть лучший подход? Заранее большое спасибо!

1 Ответ

1 голос
/ 26 мая 2020

Оставьте переменную дня (d) вне и проверьте только месяц + год:

switch(date('Y-m')) {
    case '2020-05':
        // Content here
    break;
    case '2020-06':
        // Content here
    break;
    default:
        // Display content when ran out of rounds
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...