Countdown bis zum 18. Geburtstag gesucht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Countdown bis zum 18. Geburtstag gesucht

    Hallo Zusammen,

    leider komme ich nicht weiter und brauche eure Hilfe:

    Ich möchte folgendes ausgeben:


    Zitat:
    Der Benutzer XY wird in XX Tagen (xx Wochen) 18 Jahre.

    Zu Verfügung habe ich nur das Geburtsdatum wie z.B. 20.12.1990.

    Wollte das Datum per Aufruf ala

    PHP-Code:
    http://www.domain.de/countdown.php?datum=20.12.1990&name=Benutzername 
    übergeben.


    Wie stelle ich es an, dass ich die obene Ausgabe bekomme?


    Ich würde mich sehr über eine Antwort freuen!

    Gruß

    Snoopy_cc

  • #2
    ansatz?
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Original geschrieben von Abraxax
      ansatz?
      Das habe ich bereits (gefunden):

      PHP-Code:
      <?

      $newDate = mktime(0, 0, 0, $monat, $tag, $jahr);
      // aktuelle Zeit im Unixformat erzeugen
      $actDate = time();
      // Differenz berechnen (in Sekunden)
      $diffDate = ($newDate-$actDate);

      // Anzahl Tage = Sekunden /24/60/60
      // floor() liefert nur den Anteil vor dem Komma
      $days = floor($diffDate / 24 / 60 / 60 );
      // den verbleibenden Rest berechnen = Stunden
      $diffDate = $diffDate - ($days*24*60*60);
      // den Stundenanteil herausrechnen
      $hours = floor($diffDate / 60 / 60);
      $diffDate = ($diffDate - ($hours*60*60));
      // den Minutenanteil
      $minutes = floor($diffDate/60);
      $diffDate = $diffDate - ($minutes*60);
      // die verbleibenden Sekunden
      $seconds = floor($diffDate);

      // und das ganze dann Anzeigen:
      echo "Noch: $days Tag(e), $hours Stunden, $minutes Minuten dann ist $name 18 Jahre!";
      ?>
      Allerding klappt das leider nur, wenn ich also Jahr 2008 angebe - ansonsten wird augegeben wie lange die Person bereits lebt (nett, aber nicht so ganz das was ich suche)

      Gruß

      Snoopy_cc

      Kommentar


      • #4
        Machmal hat man echt nen Brett vorm Kopf: Es muss natürlich noch +18 Jahre zu dem Geburtsjahr gerechnet werden - dann klappt es:

        PHP-Code:
        <?

        $jahr18 = ($jahr+18);

        $newDate = mktime(0, 0, 0, $monat, $tag, $jahr18);
        // aktuelle Zeit im Unixformat erzeugen
        $actDate = time();
        // Differenz berechnen (in Sekunden)
        $diffDate = ($newDate-$actDate);

        // Anzahl Tage = Sekunden /24/60/60
        // floor() liefert nur den Anteil vor dem Komma
        $days = floor($diffDate / 24 / 60 / 60 );
        // den verbleibenden Rest berechnen = Stunden
        $diffDate = $diffDate - ($days*24*60*60);
        // den Stundenanteil herausrechnen
        //$hours = floor($diffDate / 60 / 60);
        $diffDate = ($diffDate - ($hours*60*60));
        // den Minutenanteil
        //$minutes = floor($diffDate/60);
        $diffDate = $diffDate - ($minutes*60);
        // die verbleibenden Sekunden
        //$seconds = floor($diffDate);

        // und das ganze dann Anzeigen:

        if($days <= "0")
        {
        echo "$name ist bereits 18 Jahre!";
        }
        else
        {
        echo "Noch: $days Tag(e), dann ist $name endlich 18 Jahre!";
        }
        ?>
        Gruß

        Snoopy_cc

        Kommentar


        • #5
          PHP-Code:
          $geburtsdatum '29.05.1996';
          $alter '18';
          $diff strtotime('+'.$alter.' year',strtotime($geburtsdatum))-time();
          $diff floor($diff/(60*60*24));
          if(
          $diff 0){
            echo 
          'Du bist schon 18 Jahre alt';
          }else{
            echo 
          'Noch '.$diff.' Tage bis du 18 wirst';

          kürzer
          EDIT:

          noch ne kleine Anpassung

          Zuletzt geändert von jahlives; 29.05.2008, 14:49.
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar

          Lädt...
          X