Задать вопрос
Redfern89
@Redfern89
Пишу код под МК AVR, начинающий сисадмин

Как в PHP пройтись по диапазону дат?

Всем доброго времени суток! Есть два значения (Дата в формате m.Y). К примеру from=1.2023, to=12.2024
Как получить список такого вида из текущих значений?

1.2023
2.2023
3.2023
4.2023
5.2023
6.2023
7.2023
8.2023
9.2023
10.2023
11.2023
12.2023
1.2024
2.2024
3.2024
4.2024
5.2024
6.2024
7.2024
8.2024
9.2024
10.2024
11.2024
12.2024
  • Вопрос задан
  • 120 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
<?php
$from = DateTime::createFromFormat("m.Y", "1.2023");
$to = DateTimeImmutable::createFromFormat("m.Y", "12.2024");
$interval = DateInterval::createFromDateString('1 month');

while ($from < $to) {
    echo $from->format('m.Y') . PHP_EOL;
    $from = $from->add($interval);
}
echo $to->format('m.Y') . PHP_EOL;


https://phpize.online/sql/mysql57/undefined/php/ph...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Redfern89
@Redfern89 Автор вопроса
Пишу код под МК AVR, начинающий сисадмин
Прошу прощения. .. Вопрос решил :)

$from = @$_GET['from'];
		$to = @$_GET['to'];
		
		$from = explode('.', $from);
		$to = explode('.', $to);
		
		//$from = isset($_GET['from']) ? $_GET['from'] : date('m.Y', mktime(0, 0, 0, 
		
		$startMonth = $from[0];
		$endMonth = $to[0];
		$startYear = $from[1];
		$endYear = $to[1];
		
		$year = $startYear;
		$month = $startMonth;
		
		for ($i = $startMonth; $i <= ($endMonth * ($endYear - ($startYear -1))); $i++) {
			if ($month > 12) {
				$year++;
				$month = 1;
			}
			echo "[$month, $year]<br>";
			$month++;
		}
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽