Frågan 10 feb. 2003 09:11 #1 Om jag har dagens datum, typ 2003-02-10 och ett datum för några år sen 1982-07-29.
Och jag vill skapa en funktion som kollar hur gammal denna person är i år och dagar, hur gör man???
Någon? :q
R rIkLuNd Medlem sedan feb. 2003 169 inlägg Så här skulle jag göra:
<?php
$idag = explode("-",date("Y-m-d"));
$date = "1985-01-13";
$past = explode("-",$date);
$years = ($idag[0]-$past[0]);
$months = ($dag[1]-$past[1]);
$days = ($idag[2]-$past[2]);
if($months < 0)
{
$months = ((12+$idag[1])-abs($months));
}
if($days < 0)
{
if($past[1] == 02)
{
$mdays = (28-$past[2]);
$days = ($mdays+$idag[2]);
}
else if(($past[1] == 04) || ($past[1] == 06) || ($past[1] == 09) || ($past[1] == 11))
{
$mdays = (30-$past[2]);
$days = ($mdays+$idag[2]);
}
else
{
$mdays = (31-$past[2]);
$days = ($mdays+$idag[2]);
}
}
echo "Du är ".$years." år, ".$months." månader och ".$days." dagar gammal!\n";
?>
M mify Medlem sedan feb. 2003 44 inlägg rIkLuNd
Ditt script stämmer inte det påstår att jag är 32 år, 7 månader och 3 dagar gammal!
jag är född 720901 misstänker att det kan vara nåt med skottdagar eller milleniumskiftet som ställer till det.
Nån som har en "fix" ?
P Pedda Medlem sedan juni 2000 6 031 inlägg Jag har modifierat lite, den är nog inte perfekt, och kan säkert förenklas. Men det var vad jag hade tid och ork att fixa till:
<?php
$ar = date("Y");
$manad = date("m");
$dag = date("d");
$date = "1972-09-01";
$past = explode("-",$date);
$years = ($ar-$past[0]);
if($past[1] > $manad)
{
$years = $years - 1;
$months = ((12-$past[1])+$manad);
}
else
{
$months = ($manad-$past[1]);
}
$days = ($dag-$past[2]);
if($months < 0)
{
$months = ((12+$manad)-abs($months));
}
if($days < 0)
{
if($past[1] == 02)
{
$mdays = (28-$past[2]);
$days = ($mdays+$dag);
if($months == 1 && $days < 28);
{
$months = 0;
}
}
else if(($past[1] == 04) || ($past[1] == 06) || ($past[1] == 09) || ($past[1] == 11))
{
$mdays = (30-$past[2]);
$days = ($mdays+$dag);
if($months == 1 && $days < 30);
{
$months = 0;
}
}
else
{
$mdays = (31-$past[2]);
$days = ($mdays+$dag);
if($months == 1 && $days < 31);
{
$months = 0;
}
}
}
echo "Du är ".$years." år, ".$months." månader och ".$days." dagar gammal!\n";
?>
M mify Medlem sedan feb. 2003 44 inlägg Tack Pedda det där var precis så som jag ville det skulle bli
Man lär så länge man lever