Wie kann man aus einer Geburtstagvariable, welches in 3 Teilen eingeteilt ist (day,month,year) das Alter errechnen ?
Alter ausrechnen
Einklappen
X
-
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]";
$now= date("Y");
$alter=$now-$gebjahr;
echo"Du wurdest am $zerlegen[0] im Motan: $zerlegen[1] vor $alter Jahren geboren";
?>
Kommentar
-
Das Alter rechnet das auch nicht aus
Kommentar
-
So sollte es klappen:
PHP-Code:$alter = ((date ("Y")) - (date ("Y",(mktime (0,0,0,$deinmonat,$deintag,$deinjahr)))));
http://de3.php.net/manual/de/function.date.php
http://de3.php.net/manual/de/function.mktime.phpEventuelle 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
-
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
Kommentar
-
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
-
Original geschrieben von a4u
So sollte es klappen:
PHP-Code:$alter = ((date ("Y")) - (date ("Y",(mktime (0,0,0,$deinmonat,$deintag,$deinjahr)))));
http://de3.php.net/manual/de/function.date.php
http://de3.php.net/manual/de/function.mktime.php
Kommentar
-
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
-
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 % 4 == 0) {
$i=$i+1;
}
}
if ($tage-((365*$jahr)+$i) < 0) {
$jahr--;
}
return $jahr;
}
Frank
Kommentar
-
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
-
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()
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
Kommentar