Patrick: die letzten 12 Monate anzeigen lassen

Hi,

ich bin auf der Suche nach einer Funktion, welche mir die letzten 12 Monate ab heute gerechnet anzeigt.
Heisst, die Anzeige heute wäre z.B.
10/2007
09/2007
....
10/2006

Wie stell ich das an?
mit date und mktime hab ich schon versucht, klappt aber nicht.
mein Aufruf:
date("m/Y", mktime(0,0,0,0-2)); -> Also heute -2 Monate
Funktioniert aber nicht.

Danke für eure Hilfe.

Patrick

  1. Hi,

    du hast die Funktion mktime etwas falsch verstanden.
    Diese Funktion kann dir den aktuellen Timestamp nicht ermitteln, sondern nur aus gegebenen Feldern einen zusammenbasteln.
    Die Funktion mktime() musst du eher in dieser richtung verwenden:

    $lastmonth = mktime(0, 0, 0, date("m")-1, date("d"),   date("Y"));

    Hier der Link zur PHP-Doku
    http://de.php.net/mktime

    Und hier ein weiterer der dir vielleicht auch weiter hilft
    http://de.php.net/manual/en/function.date.php

    Ciao MasonB

  2. Hallo Patrick,

    ich bin auf der Suche nach einer Funktion, welche mir die letzten 12 Monate ab heute gerechnet anzeigt.

    Naja, nachdem JEDES Jahr immer 12 Monate hat, brauchst Du eigentlich nicht großartig mit Datumsfunktionen rumbasteln außer für das Abfragen des aktuellen Monats. Vom Schema her könnte das so laufen: Du fragst den aktuellen Monat und das aktuelle Jahr ab und dekrementierst den Monat immer weiter bis Du wieder beim Ausgangsmonat angekommen bist. Zum Beispiel so:

    $aktuellerMonat = idate('m');  
    $aktuellesJahr = idate('Y');  
    $monat = $aktuellerMonat;  
    $jahr = $aktuellesJahr;  
    // 12 Mal ausführen -> 1 Jahr  
    for ($i = 0; $i < 12; $i++) {  
      printf ("%02d/%04d<br />\n", $monat, $jahr);  
      // Voriger Monat  
      --$monat;  
      // Jahresgrenze  
      if ($monat == 0) {  
        $jahr--;  
        $monat = 12;  
      }  
    }
    

    Viele Grüße,
    Christian

  3. Schreibe dir halt eine einfache Schleife

    $year = date('Y');
    $month = date('m');

    for ($i=0,$i<12,$i++))
    {
    $month = $month-$i;
     if($month<1)
     {
     $month = 12;
     $year--;
     }
    echo $month.'/'.$year;
    }

    Irgendwas in der Richtung. (Ungetestet)

  4. Hi @ all,

    dank euch!!!!!

    Bye
    Patrick