Alter berechnen

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

  • Alter berechnen

    Ich möchte das Alter von einem Benutzer berechnen. Dazu lese ich den Geburtstag aus der Datenbank aus und möchte ihn vom heutigen Datum subtrahieren.

    PHP-Code:
    ...".date('d.m.Y')-$userrow[birthday]."... 
    Wie mache ich das?

  • #2
    Hast Du den knopf schon gefunden?

    http://www.php-resource.de/search.ph...der=descending


    joschua
    Nicht Tatsachen,
    sondern Meinungen über Tatsachen
    bestimmen das Handeln der Menschen.
    (Epiktet (50-138 n.Chr.)

    Kommentar


    • #3
      Ich hatte gesucht, nur echt nichts gefunden.

      Wie bekomm ich denn aus einem datetime Wert den Tag, den Monat und das Jahr einzeln damit ich den Code von JoelH nutzen kann?

      Kommentar


      • #4
        Hi

        $tag = date("d",$userrow[birthday])
        $monat = date("m",$userrow[birthday])
        $jahr = date("Y",$userrow[birthday])

        joschua
        Nicht Tatsachen,
        sondern Meinungen über Tatsachen
        bestimmen das Handeln der Menschen.
        (Epiktet (50-138 n.Chr.)

        Kommentar


        • #5
          Und vom heutigen Datum?

          PHP-Code:
          $heute now();
          $heute_tag date("d",$heute);
          $heute_monat date("m",$heute);
          $heute_jahr date("Y",$heute); 
          geht nicht! Was muß ich ändern?

          Gruß

          Kommentar


          • #6
            nimm einfach mal

            PHP-Code:
            $heute time(); 
            anstatt

            PHP-Code:
            $heute now(); 
            dann klappt's auch mit dem Datum

            Kommentar


            • #7
              Original geschrieben von Tpercon
              Ich hatte gesucht, nur echt nichts gefunden.
              ich habe etwas gefunden
              http://www.php-resource.de/forum/sho...&threadid=4342

              Kommentar


              • #8
                Leider sind so alle 32 Jahre alt!

                Der Beitrag ist der, mit der Lösung von JoelH

                Gruß

                Kommentar


                • #9
                  Hab auch was g'funden
                  http://www.php-resource.de/forum/sho...hlight=jahr%2A
                  PHP-Code:
                  <?
                  $gebdate = "01.01.1920";
                  $alter = 0; 

                  // Umbauen Datum in die Form JJJJMMTT
                  $gebdt    = explode(".", $gebdate); 
                  $gebdt    = $gebdt[2].$gebdt[1].$gebdt[0];
                  $now    = date("Ymd", time());

                  if (substr($now,4) ==  substr($gebdt,4)) {
                      $gratulation = "und hat heute Geburtstag";
                  }

                  if  ($gebdt > $now) {
                      print "Geburtsdatum $gebdate ist ungültig<br>\n";
                  } else {
                      WHILE ($gebdt < $now - 9999) { 
                          $alter++; 
                          $gebdt = $gebdt + 10000;
                      }
                      print "Person mit Geburtsdatum $gebdate ist $alter Jahre alt $gratulation<br>\n";
                  }
                  ?>

                  Kommentar


                  • #10
                    Warum geht folgende Lösung nicht?
                    PHP-Code:
                    $heute date('d.m.Y',time());
                    $heute_tag date("d",$heute);
                    $heute_monat date("m",$heute);
                    $heute_jahr date("Y",$heute);
                    $tag date("d",$userrow[birthday]);
                    $monat date("m",$userrow[birthday]);
                    $jahr date("Y",$userrow[birthday]);
                        
                    $alter $heute_jahr-$jahr;
                    if ((
                    $heute_tag<$tag) and ($heute_monat<=$monat)) {
                     
                    $alter--;
                                              }
                     print 
                    $alter
                    Ich bekomme als Alter immer 0

                    Kommentar


                    • #11
                      PHP-Code:
                      print "$heute_tag $heute_monat $heute_jahr $tag $monat $jahr"
                      Da sind beide Daten auch immer 1.1.1970?!

                      Weiß denn keiner nen Rat?

                      Kommentar


                      • #12
                        wenn du das hier

                        PHP-Code:
                        $heute date('d.m.Y',time()); 
                        durch

                        PHP-Code:
                        $heute time(); 
                        ersetzt bekommst du nicht mehr den 1.1.1970 als aktuelles Datum. Die date()-Funktion erwartet als zweiten Parameter ein Timestamp, aber bei dir war $heute ja ein String.

                        $userrow[birthday] ist bei dir dann vermutlich auch ein String, müsste aber ebenfalls ein Timestamp sein.

                        http://www.php.net/manual/de/function.date.php

                        Kommentar

                        Lädt...
                        X