PHP Получить даты для двух конкретных дней недели

Итак, у меня есть этот PHP-код:

$date = new DateTime('1990-01 Wednesday');
$thisMonth = $date->format('Y');

while ($date->format('Y') === $thisMonth) {
    echo $date->format('Y-m-d'), "<br>";
    $date->modify('next Wednesday');
}

Моя цель - получить все среды и субботы с X (например, 1990) до сегодняшнего дня.

Но у меня есть проблемы, и, может быть, вы мне немного поможете!

Спасибо !

Примечание: я настоятельно рекомендую использовать библиотеку Carbon при работе с датами в PHP.

developerbmw 16.03.2018 00:05
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
22
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Определите четкие даты начала и окончания, затем увеличивайте их на 1 день за раз. На каждой итерации проверяйте день недели и выводите, удовлетворяет ли он вашему условию.

$start = new DateTime('1990-01 Wednesday');
$end = new DateTime('now');

while($start<$end){
    $dayOfWeek = $start->format('D');
    if ($dayOfWeek== = "Wed" || $dayOfWeek== = "Sat"){
        echo $start->format('Y-m-d'),"<br>";
    }
    $start->modify('+1 day');
}

Другие вопросы по теме