Alter berechnen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.)

    Comment


    • #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?

      Comment


      • #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.)

        Comment


        • #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ß

          Comment


          • #6
            nimm einfach mal

            PHP Code:
            $heute time(); 
            anstatt

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

            Comment


            • #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

              Comment


              • #8
                Leider sind so alle 32 Jahre alt!

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

                Gruß

                Comment


                • #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";
                  }
                  ?>

                  Comment


                  • #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

                    Comment


                    • #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?

                      Comment


                      • #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

                        Comment

                        Working...
                        X