Alter ausrechnen

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

  • Alter ausrechnen

    Wie kann man aus einer Geburtstagvariable, welches in 3 Teilen eingeteilt ist (day,month,year) das Alter errechnen ?

  • #2
    Mit mktime (glaub ich).

    Kommentar


    • #3
      Also, kommt drauf an im welchen Format das Geburtstagsdatum gespeichert ist. Knns aber dann ummodeln:

      PHP-Code:
      <?php
      $gebtag 
      ="08.07.1980";

      $zerlegen explode (".",$gebtag);
      $gebjahr="$zerlegen[2]";
      $nowdate("Y");
      $alter=$now-$gebjahr;
      echo
      "Du wurdest am $zerlegen[0] im Motan: $zerlegen[1] vor $alter Jahren geboren";

      ?>

      Kommentar


      • #4
        Ähm, man wird immer im alter von 0 Jahren geboren. Zudem ist die Methode net allzu gut. Und Exploden musste ja net, da er sie als 3 Verschiedene Felder gespeichert hat.

        Kommentar


        • #5
          Das Alter rechnet das auch nicht aus
          PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

          Kommentar


          • #6
            Acha ihr besserwissser, komisch ich habs gerade ausprobiert und es hat funktioniert.
            Auf jeden Fall ist mein Beitrag wohl sinnvoller als:
            Mit mktime (glaub ich).

            Kommentar


            • #7
              So sollte es klappen:

              PHP-Code:
              $alter = ((date ("Y")) - (date ("Y",(mktime (0,0,0,$deinmonat,$deintag,$deinjahr))))); 
              Weitere Infos:
              http://de3.php.net/manual/de/function.date.php
              http://de3.php.net/manual/de/function.mktime.php
              Eventuelle Tippfehler bei PHP-Beispielen können durchaus vorkommen, aber es geht um die grundsätzliche Möglichkeit der Anwendung.

              Es war einmal ein Benutzer, der hatte ein Problem mit ... PHP (http://de3.php.net/manual/de/) MySQL (http://dev.mysql.com/doc/mysql/de/) HTML (http://www.selfhtml.org/)

              Wer suchet, der findet: http://www.php-resource.de/forum/search.php
              Immer noch nichts? Dann frag!


              Mit freundlichen Grüßen,
              @4u

              Kommentar


              • #8
                Original geschrieben von archie
                Acha ihr besserwissser, komisch ich habs gerade ausprobiert und es hat funktioniert.
                Auf jeden Fall ist mein Beitrag wohl sinnvoller als der mit der mktime
                Wie a4u gesagt hat (habs nicht probiert) ist mktime auch richtig, außerdem wollte ich dich nur drauf hinweisen
                PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

                Kommentar


                • #9
                  berücksicht man da noch Schaltjahre dann oho
                  [color=blue]MfG Payne_of_Death[/color]

                  [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                  [color=red]Merke:[/color]
                  [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                  Murphy`s Importanst LAWS
                  Jede Lösung bringt nur neue Probleme
                  Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                  In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                  Kommentar


                  • #10
                    Original geschrieben von a4u
                    So sollte es klappen:

                    PHP-Code:
                    $alter = ((date ("Y")) - (date ("Y",(mktime (0,0,0,$deinmonat,$deintag,$deinjahr))))); 
                    Weitere Infos:
                    http://de3.php.net/manual/de/function.date.php
                    http://de3.php.net/manual/de/function.mktime.php
                    Vielen Dank!

                    Kommentar


                    • #11
                      Warum suchst du nicht einfach zuerst mal!!!

                      Kommentar


                      • #12
                        OffTopic:

                        TobiaZ,
                        ich halte es deiner jugend zugute, aber so spricht man nicht mit menschen, die sich um rat suchend an das forum wenden.

                        in diesem thread haben sich fragen und antworten ergeben, völlig ohne deine mitwirkung.

                        du kannst es jedoch nicht lassen, auch noch deinen 'senf', der nichts mit dem inhalt zu tun hat, hinzuzufügen.

                        es gab in den 70ern das phänomen des manta-fahrers, der sich einen fuchsschwanz an die antenne hing. das diente dem ego.

                        hast du vielleicht ein ähnliches problem?

                        wenn du ein forum "steuern" möchtest, eröffne doch einfach ein eigenes. dann wärest du "herr im haus".

                        ansonsten antworte, wenn du spass daran hast, anderen zu helfen.
                        oder lass' es einfach.

                        übrigens, dieser "oberlehrer-ton" findet sich nur in deutsch-sprachigen foren. zufall?


                        Kommentar


                        • #13
                          Hi

                          Ich hatte mal vor langer Zeit was geschrieben, was auch die Schaltjahre berücksichtigt. Ist ungetestet, aber vielleicht hilfts ja:

                          PHP-Code:
                              function alter($geburtsdatum) {
                                  
                          //Geburtstag in Timestamp konvertieren
                                  
                          list($gebjahr$gebmonat$gebtag) = explode("-"$geburtsdatum);
                                  
                          $geburt mktime(0,0,0,$gebmonat,$gebtag,$gebjahr);
                                  
                          // Aktuelles Datum als Timestamp
                                  
                          $aktuell=time();
                                  
                          // Millisekunden seid Geburt
                                  
                          $msek $aktuell $geburt;
                                  
                          //Alter in Tagen
                                  
                          $tage floor($msek/(3600*24));
                                  
                          //Alter in Jahren
                                  
                          $jahr floor($tage/365);
                                  
                          $gesamt $gebjahr+$jahr;
                                  
                          // Schaltjahre berücksichtigen (wenn die Jahreszahl durch 4 teilbar, dann Schaltjahr)
                                  
                          $i=0;
                                  for(
                          $gebjahr$gebjahr $gesamt$gebjahr++) {
                                       if(
                          $gebjahr == 0) {
                                            
                          $i=$i+1;
                                      }
                                  }
                                  if (
                          $tage-((365*$jahr)+$i) < 0) {
                                      
                          $jahr--;
                                  }
                                  return 
                          $jahr;
                              } 
                          Viele Grüße

                          Frank

                          Kommentar


                          • #14
                            Also ich habs net alles gelesen aber ich hab mal dies hier benutzt:
                            bte. Schaltjahre werden von mktime berücksichtigt...

                            PHP-Code:
                            // $datum hier im Format YYYY-MM-DD
                            function getAlter($datum){
                               
                            $age explode("-",$datum);
                               
                            $alter date("Y",time())-$age[0];
                               if (
                            mktime(0,0,0,date("m",time()),date("d",time()),date("Y",time())) < mktime(0,0,0,$age[1],$age[2],date("Y",time())))
                                  
                            $alter--;
                               return 
                            $alter;
                            }
                            // end of getAlter() 
                            Beantworte nie Threads mit mehr als 15 followups...
                            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                            Kommentar


                            • #15
                              Original geschrieben von MelloPie
                              Also ich habs net alles gelesen aber ich hab mal dies hier benutzt:
                              bte. Schaltjahre werden von mktime berücksichtigt...

                              PHP-Code:
                              // $datum hier im Format YYYY-MM-DD
                              function getAlter($datum){
                                 
                              $age explode("-",$datum);
                                 
                              $alter date("Y",time())-$age[0];
                                 if (
                              mktime(0,0,0,date("m",time()),date("d",time()),date("Y",time())) < mktime(0,0,0,$age[1],$age[2],date("Y",time())))
                                    
                              $alter--;
                                 return 
                              $alter;
                              }
                              // end of getAlter() 
                              Einen Hinweis zur obigen Funktion: Wenn man date benutzt, kann man sich den Aufruf der time-Funktion sparen, da date automatisch bei fehlendem TimeStamp die aktuelle Zeit nimmt.
                              Eventuelle Tippfehler bei PHP-Beispielen können durchaus vorkommen, aber es geht um die grundsätzliche Möglichkeit der Anwendung.

                              Es war einmal ein Benutzer, der hatte ein Problem mit ... PHP (http://de3.php.net/manual/de/) MySQL (http://dev.mysql.com/doc/mysql/de/) HTML (http://www.selfhtml.org/)

                              Wer suchet, der findet: http://www.php-resource.de/forum/search.php
                              Immer noch nichts? Dann frag!


                              Mit freundlichen Grüßen,
                              @4u

                              Kommentar

                              Lädt...
                              X