Ich möchte die Monate innerhalb eines Zeitraumes ausgeben.
Im Internet habe ich Programmcode gefunden, dass dies machen soll, den ich angepasst habe.
Hier der Code:
$filter_von= "12.05.2005";
$filter_bis= "12.10.2006";
//Monate in einem Zeitraum ausgeben
$anfang_monat=substr($filter_von, 3, 2);
$anfang_jahr=substr($filter_von, 6, 4);
$end_monat=substr($filter_bis, 3, 2);
$end_jahr=substr($filter_bis, 6, 4);
for($jahr = $anfang_jahr; $jahr <= $end_jahr; $jahr++) {
for($monat = $anfang_monat; $monat <= 12; $monat++) {
$jahrString = $jahr;
if(strlen($jahrString) < 2) {
$jahrString = '0'.$jahrString;
}
$monatString = $monat;
if(strlen($monatString) < 2) {
$monatString = '0'.$monatString;
}
$dateString = $monatString.'/'.$jahrString;
if($jahrString == $end_jahr && $monatString > $end_monat) {
break;
}// else {
echo "$dateString<br>\n";
//}
}
}
Und hier ist die Ausgabe, die ich erhalte, bei den beiden vorgebenenen Daten:
05/2005
06/2005
07/2005
08/2005
09/2005
10/2005
11/2005
12/2005
05/2006
06/2006
07/2006
08/2006
09/2006
10/2006
Nach 12/2005 müsste er mit 01/2006 weitermachen. leider beginnt er bei dem Monat, das auch im Anfangsdatum steht.
Hat jemand ein Tipp??
Im Internet habe ich Programmcode gefunden, dass dies machen soll, den ich angepasst habe.
Hier der Code:
$filter_von= "12.05.2005";
$filter_bis= "12.10.2006";
//Monate in einem Zeitraum ausgeben
$anfang_monat=substr($filter_von, 3, 2);
$anfang_jahr=substr($filter_von, 6, 4);
$end_monat=substr($filter_bis, 3, 2);
$end_jahr=substr($filter_bis, 6, 4);
for($jahr = $anfang_jahr; $jahr <= $end_jahr; $jahr++) {
for($monat = $anfang_monat; $monat <= 12; $monat++) {
$jahrString = $jahr;
if(strlen($jahrString) < 2) {
$jahrString = '0'.$jahrString;
}
$monatString = $monat;
if(strlen($monatString) < 2) {
$monatString = '0'.$monatString;
}
$dateString = $monatString.'/'.$jahrString;
if($jahrString == $end_jahr && $monatString > $end_monat) {
break;
}// else {
echo "$dateString<br>\n";
//}
}
}
Und hier ist die Ausgabe, die ich erhalte, bei den beiden vorgebenenen Daten:
05/2005
06/2005
07/2005
08/2005
09/2005
10/2005
11/2005
12/2005
05/2006
06/2006
07/2006
08/2006
09/2006
10/2006
Nach 12/2005 müsste er mit 01/2006 weitermachen. leider beginnt er bei dem Monat, das auch im Anfangsdatum steht.
Hat jemand ein Tipp??
Kommentar