Auflisten von Monaten zwischen zwei Daten
In verschiedenen Anwendungen ist es notwendig, Monate innerhalb eines bestimmten Datumsbereichs aufzulisten oder zu durchlaufen. Um dies zu erreichen, stellen wir zwei Lösungen in PHP vor, die auf unterschiedliche PHP-Versionen zugeschnitten sind.
PHP 5.3 und später
$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 oder neuer
$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";
}
Beachten Sie, dass die Änderung des Start- und Enddatums auf den ersten Tag jedes Monats eine vollständige Auflistung der gewünschten Monate gewährleistet und Fälle verhindert, in denen der Februar übersprungen werden könnte, wenn der aktuelle Tag vor seinem letzten Tag liegt.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3