Alter berechnen

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

  • Alter berechnen

    Hallo,

    ich möchte das Alter seit der Geburt einer Person in Jahre, Monate und Tage getrennt ausgeben.

    Dazu habe ich das Geb.-Datum mit strtotime() in einen Timestamp umgewandelt und der errechnete Timestamp von dem jetzigen Timestamp abgezogen und anschließend mit strftime() wieder als Jahr, Monat und Tag ausgegeben. Jedoch errechnet er mir das Alter nicht korrekt.

    PHP-Code:
    $geb_timestamp strtotime('2005-09-21');
    $timestamp time();
    $alter_timestamp $timestamp $geb_timestamp;
    print 
    strftime('%d-%m-%Y'$alter_timestamp);

    // Ausgabe
    // 18-03-1970 
    » http://www.htaccess-generator.com

  • #2
    Na ganz so einfach gehts auch nicht. Du berechnest die Differenz aus Geburtsdatum und heute und gibst diese quasi 'plus 1.1.1970' aus.
    Übrigens schon mal was von Schaltjahren gehört?
    Zuletzt geändert von onemorenerd; 06.12.2005, 21:38.

    Kommentar


    • #3
      Meine Lösung, als anhaltspunkt.
      eine Kommentierung ist bei einer soo einfachen funktion ja wohl nicht nötig.

      PHP-Code:
      function age($jah$mon$tag)
      {
        
      $jetzt mktime(0,0,0,date("m"),date("d"),date("Y"));
        
      $gebur mktime(0,0,0,$mon,$tag,$jah);
        return 
      $age   intval(($jetzt $gebur) / (3600 24 365));

      Kommentar


      • #4
        Auch ohne Berücksichtigung von Schaltjahren oder ist mir der Wein schon im Kopf angekommen?

        Kommentar


        • #5
          Sind die Schalttage / -minuten / -sekunden nicht schon im Timestamp berücksichtigt? Müsste doch eigentlich so sein...

          Kommentar


          • #6
            ich habe das o. g. beispiel ausprobiert und der timestamp für mein datum wird generiert. wie bekomme ich nun darauf wieder ein datum im format tag, monat, jahr? wenn ich

            PHP-Code:
            print strftime("%d-%m-%Y"$age); 
            anwende, steht bei mir 01-01-1970.
            » http://www.htaccess-generator.com

            Kommentar


            • #7
              @bweichel
              Mein Lösungsansatz wäre folgender:

              Wenn du von LukasS's Script die intval()-Funktion beim return weglässt, bekommst du das Lebensalter in Jahren als Dezimalbruch zurückgeliefert. Die stellen nach dem Komma kannst du dann ganz einfach mit einem Dreisatz auf Tage runterrechnen!
              Monate würde ich nicht angeben, da diese versch. viele Tage haben und damit ohne Angabe des genauen Geburtstages nicht klar wird wie alt die Person jetzt wirklich ist (hoffe das ist verständlich).
              Zuletzt geändert von x4th; 06.12.2005, 23:39.

              Kommentar


              • #8
                Nur wenn ich den genauen Geburtstag habe. Wie müßte dann der Code aussehen um die genaue Ausgabe auf Jahr, Monate und Tage hinzukriegen?

                Kommentar

                Lädt...
                X