mahedelMedlem sedan juli 2002105 inlägg detta script tar och räknar ut hur gammal man är fast det är en sak som inte fungerar. Idag så skulle användaren i fråga vara 20 år gammal fast den är bara 19 år och om man byter till 1983-01-05 så blir användaren 20 år eftersom det har gått en dag så jag vill att den tar om visar 20 år idag som det ska... hoppas ni förstår mig...
tack på förhand
Martin
<?
$fodelsedatum = "1983-01-06";
list($Y,$M,$D)=split("-",date("Y-m-d", strtotime("now")));
list($y,$m,$d)=split("-",date("Y-m-d", strtotime("$fodelsedatum")));
$alder=(($M<$m)||(($M==$m)&&($D<=$d)))?($Y-$y-1):($Y-$y);
echo $alder;
?>
Det är för att dagen måste passera för att den ska räknas in...
$alder=(($M<$m)||(($M==$m)&&($D<=$d[b][red]-1[/red][/b])))?($Y-$y-1):($Y-$y);
Då borde det väl bli rätt...
Njae... om dagen är 01 eller 1 (vad det nu blir) så blir det ju 0 eller 00... så det borde väll inte gå?
QazMedlem sedan feb. 2000211 inlägg Jag tror att man måste blanda in PHPs datumfunktioner för att det ska funka.
Hittade denna lilla kod snutt på php.net
// first get the current date
$nowdate = mktime(0,0,0,date("m"),date("d"),date("Y"));
// this is my birthday
$birthday = mktime(0,0,0,"10","28","1980");
// calculate my age in years
$age=intval(($nowdate-$birthday)/(60*60*24*365));
echo "I'm now $age years old.";
Fast den kommer ju inte stämma vid skottår.
Jag rotade lite och detta är ett script jag använder.. funkar prima ;)
<?PHP
$b_year = substr($row['user_age'],0,4);
$b_month = substr($row['user_age'],5,2);
$b_day = substr($row['user_age'],8,2);
$time = getdate(time());
$n_year = $time["year"];
$n_timestamp = time();
//This year birthday:
$b_timestamp = mktime(0,0,0,$b_month,$b_day,$n_year);
//Calculate age:
$age = $n_year - $b_year;
$age--;
if($n_timestamp >= $b_timestamp) {
$age++;
}
echo $age;
?>
QazMedlem sedan feb. 2000211 inlägg hmm klart att det inte gör, kollade inte direkt på scriptet, bara klipte och klistrade :r ska göra bot och bättring :OO