Listando meses entre duas datas
Em vários aplicativos, torna-se necessário listar ou iterar pelos meses dentro de um intervalo de datas especificado. Para isso, apresentamos duas soluções em PHP, atendendo a diferentes versões do PHP.
PHP 5.3 e posterior
$start = new DateTime('2010-12-02');
$start->modify('first day of this month');
$end = new DateTime('2012-05-06');
$end->modify('first day of next month');
$interval = DateInterval::createFromDateString('1 month');
$period = new DatePeriod($start, $interval, $end);
foreach ($period as $dt) {
echo $dt->format("Y-m") . "
\n";
}
PHP 5.4 ou mais recente
$start = (new DateTime('2010-12-02'))->modify('first day of this month');
$end = (new DateTime('2012-05-06'))->modify('first day of next month');
$interval = DateInterval::createFromDateString('1 month');
$period = new DatePeriod($start, $interval, $end);
foreach ($period as $dt) {
echo $dt->format("Y-m") . "
\n";
}
Observe que modificar as datas de início e término para o primeiro dia de cada mês garante uma listagem completa dos meses desejados, evitando casos em que fevereiro possa ser ignorado se o dia atual for superior ao último dia.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3