PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |
|

31-05-2003, 16:29
|
jOhnny knOx
Senior Member
|
|
Registriert seit: Mar 2003
Beiträge: 561
|
|
Alter ausrechnen
Wie kann man aus einer Geburtstagvariable, welches in 3 Teilen eingeteilt ist (day,month,year) das Alter errechnen ?
|

31-05-2003, 16:34
|
hibatsu
Junior Member
|
|
Registriert seit: Apr 2003
Beiträge: 205
|
|
Mit mktime (glaub ich).
|

31-05-2003, 17:03
|
archie
PHP Junior
|
|
Registriert seit: Jan 2002
Ort: Berlin
Beiträge: 689
|
|
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";
?>
|

31-05-2003, 17:05
|
hibatsu
Junior Member
|
|
Registriert seit: Apr 2003
Beiträge: 205
|
|
Ä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.
|

31-05-2003, 17:06
|
Floriam
PHP Senior
|
|
Registriert seit: May 2003
Ort: Deutschland
Beiträge: 1.432
|
|
Das Alter rechnet das auch nicht aus
|

31-05-2003, 17:07
|
archie
PHP Junior
|
|
Registriert seit: Jan 2002
Ort: Berlin
Beiträge: 689
|
|
Acha ihr besserwissser, komisch ich habs gerade ausprobiert und es hat funktioniert.
Auf jeden Fall ist mein Beitrag wohl sinnvoller als:
|

31-05-2003, 17:13
|
Floriam
PHP Senior
|
|
Registriert seit: May 2003
Ort: Deutschland
Beiträge: 1.432
|
|
Zitat:
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
|

31-05-2003, 17:22
|
Payne_of_Death
Master 
|
|
Registriert seit: Dec 2002
Ort: Folterkeller Nr. 18
Beiträge: 2.953
|
|
berücksicht man da noch Schaltjahre dann oho
|

31-05-2003, 17:27
|
jOhnny knOx
Senior Member
|
|
Registriert seit: Mar 2003
Beiträge: 561
|
|
|

31-05-2003, 17:40
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
Warum suchst du nicht einfach zuerst mal!!!
|

31-05-2003, 23:27
|
weserweb
Junior Member
|
|
Registriert seit: Sep 2002
Ort: 20min vor der ostsee
Beiträge: 234
|
|
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?
|

31-05-2003, 23:50
|
LDSign
Newbie
|
|
Registriert seit: Jan 2003
Beiträge: 29
|
|
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;
}
Viele Grüße
Frank
|

01-06-2003, 00:06
|
MelloPie
PHP Master
|
|
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
|
|
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
|

01-06-2003, 00:53
|
a4u
Junior Member
|
|
Registriert seit: Mar 2002
Beiträge: 172
|
|
Zitat:
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.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|