Blitzkrieg: Datum umwandeln

Hi,

und zwar habe ich folgendes Problem. Ich habe den Tag im Jahr, zum Beispiel den 236. Tag. Mit welcher Funktion/welchen Funktionen kann ich die Zahl 236 in das Datum 24.08. umformen?

Vielen Dank

Blitzkrieg

  1. Mit welcher Funktion/welchen Funktionen kann ich die Zahl 236 in das Datum 24.08. umformen?

    Mit den mathematischen Grundrechenarten sowie der Kenntnis über die Verteilung von Tagen je Monat und Schaltjahr. Falls Dir das zu kompliziert ist, sollte es auch möglich sein, mktime() als ersten Schritt der Umrechnung zu benutzen (beachte hierzu Beispiel 1 auf der Anleitungsseite).

  2. Hallo,

    und zwar habe ich folgendes Problem. Ich habe den Tag im Jahr, zum Beispiel den 236. Tag. Mit welcher Funktion/welchen Funktionen kann ich die Zahl 236 in das Datum 24.08. umformen?

    Probiere es so:

    <?php

    $tag=236;
    print date("d.m.",strtotime(($tag-1)." days","this year")); // 24.08.

    ?>

    MfG, Thomas

    1. Hi Thomas,

      ich danke dir vielmals ... es funktioniert so .. nur leider verstehe ich nicht ganz, wieso das so funktioniert. Kannst du mir vielleicht erklären, wieso das so funktioniert, damit ich beim nächsten Mal selber auf sowas komme?

      Danke

      Blitzkrieg

      Probiere es so:

      <?php

      $tag=236;
      print date("d.m.",strtotime(($tag-1)." days","this year")); // 24.08.

      ?>

      MfG, Thomas

      1. Hallo Blitzkrieg!

        [...] nur leider verstehe ich nicht ganz, wieso das so funktioniert. Kannst du mir vielleicht erklären,
        wieso das so funktioniert, damit ich beim nächsten Mal selber auf sowas komme?

        Schau' dir mal folgende Seite an:
           PHP-Handbuch: strtotime()
           http://de.php.net/manual/de/function.strtotime.php

      2. Hallo,

        Kannst du mir vielleicht erklären, wieso das so funktioniert, damit ich beim nächsten Mal selber auf sowas komme?

        Ich habe die Funktionen strtotime() [http://de.php.net/manual/de/function.strtotime.php] und date() [http://de.php.net/manual/de/function.date.php] kombiniert. Mit der Subtraktion von 1 habe ich der Tatsache entsprochen, dass date() mit dem Format-Zeichen "z" die Tage eines Jahres ab 0 zurueck gibt.

        date("z",time()); liefert heute gerade 236. Eigentlich haben wir den Tag 237 (1. Januar = Tag 1), was auch eine mal hier von mir gepostete JS-Funktion zeigt:

        var datum,m,j,t,i;

        datum=new Date();      // neues Datumsobjekt
        m=datum.getMonth();    // aktueller Monat (ab 0)
        j=datum.getFullYear(); // aktuelles Jahr (vierstellig)
        t=datum.getDate();     // Tag(e) des aktuellen Monats

        // t + Tage der Vormonate
        for(i=1;i<m+1;i++)t+=new Date(j,i,0).getDate();

        alert("Heute ist Tag "+t+".");

        Es kommt also bei der Benutzung des PHP-Codeschnipsels darauf an, ob man sich auf Tag 0 oder Tag 1 des Jahres bezieht.

        MfG, Thomas