Alter automatisch errechnen lassen - PHP

  • Guten Tag,
    ähm - ich bin nicht so oft in Foren, und habe deshalb keine Ahnung wie das funktioniert. Ich mache gerade meine ersten Schritte in PHP und hätte da eine Frage:
    Wie kann ich das Alter einer Person automatisch errechnen lassen, wenn ich weiss, dass er z.B: am 21.06.1989 geboren ist.
    MfG

  • Alo ich würde es so machen: (ist ungetestet)

    Code
    $tag = 21;
    $monat = 6;
    $jahr = 1989;
    $geburtstag = mktime(0,0,0,$monat,$tag,$jahr);
    $unterschied = time() - $geburtstag;
    $jahre = (int)($unterschied /3600);
    echo "Sie sind $jahre Jahre alt!";

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • Ein Unix-Timestamp ist ungeeignet, denn was machst du bei Leuten, die vor 1970 geboren wurden? :(

  • Ich mache das so:

    Niemals provozieren lassen, jeder darf seine Meinung haben.

  • Wieso? Wenig Ladylike einfach nur zu schreiben 'faslch'. Was ist falsch? Er gibt mir bisher, seit etwa 8 Jahren immer das richtige Alter raus.

    Niemals provozieren lassen, jeder darf seine Meinung haben.

  • Da wird der tag und monat nicht berücksichtigt. Habe ich z.B. im juni geburtstag, stimmt dein script am heutigem tage, habe ich aber erst im september gebursttag, legt dein script heute einfach schon mal ein jahr drauf. Und das ist nun mal falsch und da kann man auch mit etwas überlegung auch selber draufkommen. ;)

  • Zitat von bandit600

    Da wird der tag und monat nicht berücksichtigt.


    Natürlich nicht, denn es war auch die Frage nach...

    Zitat

    Wie kann ich das Alter einer Person automatisch errechnen lassen


    Seit wann wird das Alter in Tagen und Monaten angegeben? Man sagt nur der Kerl ist soviel Jahre alt.

    MfG :wink:

    Niemals provozieren lassen, jeder darf seine Meinung haben.

  • Zitat von Gebby

    Seit wann wird das Alter in Tagen und Monaten angegeben? Man sagt nur der Kerl ist soviel Jahre alt.


    Boaaah, ich brech' zusammen! :(


    Das script gibt aus:

    Zitat


    Alter 1 : 47
    Alter 2 : 47


    Bei 20.06.1961 ist 47 richtig, bei 20.09.1961 ist das aber falsch, weil man erst in 2 Monaten 47 ist!

    Jetzt kapiert?????? Du liegst in extremfall 365 tage daneben.

  • Der erste auf meiner Ignorierliste. Wenn man nicht verstehen will, eben nicht.

    "Wie alt bist du?"
    "Jo, genau 47 Jahre, 17 Tage"
    "Klasse, nur will ich nur dein Alter wissen, nicht mehr, aber dennoch Danke."

    Niemals provozieren lassen, jeder darf seine Meinung haben.

  • @ gebby

    er hat schon recht. wenn ich im september erst geburtstag hab, bin
    ich jetzt noch 46, und keine 47. von daher is dein skript nunmal falsch.

  • Ich schreibe jetzt mal gaaaaaannnnnnzzzzzz langsam, damit du das vielleicht dann verstehst,

    Gehen wir mal davon aus, wir haben den 1.1.2008 und ich bin am 1.1.1961 geboren. Dann sagt dein Script, ich bin 47 Jahre. Wunderbar.

    Jetzt haben wir immer noch den 1.1.2008, bin aber am 31.12.1961 geboren. Dann sagt dein Script immer noch 47 und das ist falsch. In 365 Tagen bin ich dann erst 47, also muss das script 46 rausschreiben!

  • Streite ich nicht ab, aber was macht das Script von Dodo vom So, 20.07.2008 16:12?

    Zitat

    echo "Sie sind $jahre Jahre alt!";


    Warum wird auf einem Neuling rumgehackt?

    Niemals provozieren lassen, jeder darf seine Meinung haben.

  • Zitat von Gebby

    Warum wird auf einem Neuling rumgehackt?


    Es hackt niemand auf dir rum, ich habe nur gesagt, dass dein script falsch ist. Und du wolltest dann eine erklärung dafür, die du dann bekommen hast und nicht verstanden hast. Also immer schön den Ball flach halten.

    Außerdem musst du mir keine PM schreiben, dass ich auf deiner Ignore-Liste stehen, denn das ist mir egal.

    Aber recht hast du, auch dodo's script funktioniert nicht.

  • hier wird NICHT auf einem neuling "rumgehackt". aber wir lassens auch
    nicht zu dass sich jemand anmeldet und dann die leute falsch berät.

    edit: zu dodos skript:
    - er wurde verbessert
    - er hat das dann auch angenommen

  • Okay, nur habe ich niemanden falsch beraten.

    Ich habe nicht geschriebn mach es so, sondern ich schrieb, ich mach es so, Punkt aus.

    Niemals provozieren lassen, jeder darf seine Meinung haben.

  • Zitat von Gebby

    Okay, nur habe ich niemanden falsch beraten.


    Ja nee, is' klar. Du willst es einfach nicht verstehen, oder? Dein script rechnet falsch und genau das ist dir gesagt worden. Nicht mehr und nicht weniger.