Robert: Alter berechnen

Hi,

Ich habe ein Geburtsdatum im Format yyyy-mm-dd und möchte daraus das aktuelle Alter (in Jahren) berechnen. Wie mache ich das am besten???

mfg
Robert

  1. Hi!

    Ich habe ein Geburtsdatum im Format yyyy-mm-dd und möchte daraus das aktuelle Alter (in Jahren) berechnen. Wie mache ich das am besten???

    if((aktueller_monat = geb_monat AND aktueller_tag >= geb_tag) OR  aktueller_monat >= geb_monat) {
        alter = aktuelles_jahr - geb_jahr;
    }
    else {

    alter = aktuelles_jahr - geb_jahr -1;
    }

    so könnte es gehen(kein PHP)!

    Grüße
    Andreas

  2. Du wandelst das Datum in Sekunden um.

    Von den Sekunden kannst Du jeden beliebigen Wert ausrechnen.

    Wenn Du den Wert durch 31536000 teilst hast du die Jahre, natürlich musst du immer nach unten runden :)

    Jetzt kommt bestimmt die Frage, wie man ein Datum in ein Sekundenwert umwandelt. Dafür gibt es in PhP eine Funktion, die die vergangenen Sekunden seit 1970 ausgibt, also

    Datum(heute in Sekunden) - Geb.datum(in Sekunden) = Alter

    Jetzt kommt bestimmt die Frage, wie heißen die Funktionen?

    Also :

    heutiges Datum:

    time()

    Sekundenwert aus gegebenen Datum:

    mktime(Sekunde,Minute,Stunde,Monat,Tag,Jahr)

    Viel Spaß, Matthias

    1. Das Problem bei mktime() ist, dass, wie Du schon sagtest, nur Daten ab 1970 umgerechnet werden. Alles was drunter liegt ergibt als Ergebnis -1 wodurch die Umwandlung zwar nicht zwingend fehl schlägt, aber ein falsches Ergebnis liefert.

      Gruß,
      Malte

      1. Das Problem bei mktime() ist, dass, wie Du schon sagtest, nur Daten ab 1970 umgerechnet werden. Alles was drunter liegt ergibt als Ergebnis -1 wodurch die Umwandlung zwar nicht zwingend fehl schlägt, aber ein falsches Ergebnis liefert.

        Gruß,
        Malte

        Oh ja stimmt.

        Mist. Es soll ja tatsächlich Leute geben, die schon sooooo alt sind.
        Das vergesse ich immer wieder. Bin zwar selber ein Kind der 70er (79)
        aber sowas sollte man natürlich bedenken.

        Mein Tipp: Wenn jemand als Geburtstag ein Datum eingibt das älter als 1970 ist, mach einfach einen alert.
        -> "Sorry, Du bist zu alt, leg Dich wieder hin und warte auf den Zivi mit dem Mittagessen." <-

        Grüße, Matthias

  3. Hi,

    Ich habe ein Geburtsdatum im Format yyyy-mm-dd und möchte daraus das aktuelle Alter (in Jahren) berechnen. Wie mache ich das am besten???

    mfg
    Robert

    Leider zweiter aber dafür als PHP-Code:

    $datum = "1976-08-13";

    ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", $datum, $alter);
     ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", date("Y-m-d", time()), $jetzt);

    $alter_aktuell = $jetzt[1] - $alter[1];
     if($jetzt[2] < $alter[2] || ($jetzt[2] == $alter[2] && $jetzt[3] < $alter[3])) {
      $alter_aktuell--;
     }

    echo $alter_aktuell;

    Gruß,
    Malte

    1. Hey Malte.

      Du bist "nur" dritter :)

      Hab Dich auf der Ziellinie noch abgefangen.

      1. Ja, hab ich schon gesehen... Gemeinheit ;o) Ich sollte mehr Sport treiben...

        1. Ja, hab ich schon gesehen... Gemeinheit ;o) Ich sollte mehr Sport treiben...

          Oha, mist, dann muss ich ja nachziehen, ok, ab heute Fitnessstudio.
          Spezielles training für bessere Fingermuskeln.

          Grüße, Matthias