Pjotre: Datum des jahrestags ermitteln

Hallo Leute,

Ich bekomme ein Jahrestag und das Jahrhundert geliefert.
Wie kann ich nun herausbekommen was für ein Datum an diesem Tag war?

Hab schon mit mktime herumprobiert, aber keine Lösung gefunden.
Folgend ein Beispiel:
--------------------------------------------------------------------
<?
$today = date ("d,m,Y");
$jahrestag = date("z");

echo"Heute ist der: $today. Das ist der $jahrestag. Jahrestag.";

$test = date("d,m,Y", mktime (0, 0, 0, 0, $jahrestag, 2007));

echo"<br/>Der $jahrestag. Jahrestag war ein $test.";
?>
--------------------------------------------------------------------
Da kommt dann folgendes Ergebnis raus:
--------------------------------------------------------------------
Heute ist der: 10,08,2007. Das ist der 221. Jahrestag.
Der 221. Jahrestag war ein 09,07,2007.

Soweit ich meinen IQ richtig einschätze, stimmt diese Aussage nicht.
--------------------------------------------------------------------
Für Anregungen und Lösungsansätze bin ich sehr Dankbar.

MfG

Pjotre

  1. Ahoi Pjotre,

    Für Anregungen und Lösungsansätze bin ich sehr Dankbar.

    das Tag Attribut bezieht sich auf den Tag im monat, mit http://de2.php.net/manual/de/function.strtotime.php müsste es klappen.

    Zeitstempel des 1.1. des Jahres +(X-1) Tage = Datum wo gemeint ist.

    MfG

    1. Das hab ich jetzt nicht geschnallt.
      Wofür steht Dein "X"?

      am besten beziehst Du Dich auf mein Beispiel, dann kann ich Dir vielleicht folgen.

      Danke vorab schonmal...

      MfG Pjotre

  2. echo $begrüßung;

    Ich bekomme ein Jahrestag und das Jahrhundert geliefert.

    Unter Jahrestag versteht man im Allgemeinen etwas anderes als den x. Tag des Jahres.

    Wie kann ich nun herausbekommen was für ein Datum an diesem Tag war?
    Hab schon mit mktime herumprobiert, aber keine Lösung gefunden.

    Für mktime(), das ja auch aus nicht stimmigen Werten ein Datum zu berechnen versucht, ist der x. Tag des Jahres der x. Januar des Jahres.

    $test = date("d,m,Y", mktime (0, 0, 0, 0, $jahrestag, 2007));
    Da kommt dann folgendes Ergebnis raus:
    Heute ist der: 10,08,2007. Das ist der 221. Jahrestag.
    Der 221. Jahrestag war ein 09,07,2007.

    (Kommas als Trennzeichen sind auch nicht gerade üblich.) Du solltest mal die englische Handbuchseite zu date() ansehen. Zum einen sind die Parameter da hübsch gruppiert, zum anderen steht bei "z" der explizite Hinweis "(starting from 0)". Außerdem zählt für mktime() der Monat 0 als Dezember des Vorjahres.

    echo date("d.m.Y", mktime (0, 0, 0, 1, $dayofyear, 2007)); // ergibt das richtige Datum.

    echo "$verabschiedung $name";