Hej finns det något script som man kan använda sig utav för att datorn ska räkna ut hur många år en persson är som är född tex:
1980-09-24 jag har 3 olika fält i min databas jag använder mig utav en MySql databas.
Ålder
9 svar · 278 visningar · startad av vicktor
Lättaste sättet är nog att göra om datumet med mktime(); (mer information i kommentarerna på http://www.php.net/mktime ) och sedan göra likadant med dagens datumen. Sedan ta skillnaden mellan de båda och kovertera till lämpligt format.
------------------
//
Clarence Eldefors
http://www.cerebuswebmaster.com
Finns det ingen enklare sätt för det finns det i asp.
ehh...det är väl ganska lätt:
$usr_birth = "10/10/2001";
$datum = "10/11/2001";
$usr_birth = mktime($usr_birth);
$datum = mktime($datum);
$skillnad = $datum - $usr_birth;
$age = $skillnad / 31536000;
$age = $explode($age);
$age = $age[0];
echo "Du är $age år...";
det borde funka...
[r]totalfel...fixar det[/r]
------------------
B44Z
[Redigerat av SuPeR_ToBBe den 16 okt 2001]
Nej det fungerar inte!
Fler grammatiska fel än mina skolböcker från första klass. Men det fungerar. Fullt med skräp är det också.
<?php
if ($birth)
{
$birth = explode("-", $birth);
$today = explode("-",date("Y-m-d", time()));
if ($birth[1] < 1 || $birth[2] < 1 || $birth[2] > 31)
{
printf("vad är ditt problem?..");
exit();
}
$age = $today[0] - $birth[0];
if ($today[1] - $birth[1] < 0 || ($today[1] - $birth[1] == 0 && $today[2] - $birth[2] < 0))
{
$age--;
}
$month = $today[1] - $birth[1];
if ($age < 0)
{
printf("du är inte född än ditt jävla herkslan...");
exit();
}
if ($month < 0)
{
$month = 12 + $month;
}
$date = $today[2] - $birth[2];
if ($date < 0)
{
$date = 31 + $date;
}
printf("$age\n<BR>\n$month\n<BR>\n$date");
}
else
{
printf("yeah...");
}
?>
------------------
last time we mixed politics and religion
people got burned at the stake
[Redigerat av loriel den 15 okt 2001]
Jag får det inte att fungera jag skrev in den så här:
<?php
if ($birth)
{
$birth = explode("2001-10-24", $birth);
$today = explode("2001-10-15",date("Y-m-d", time()));
if ($birth[1] < 1 || $birth[2] < 1 || $birth[2] > 31)
{
printf("vad är ditt problem?..");
exit();
}
$age = $today[0] - $birth[0];
if ($today[1] - $birth[1] < 0 || ($today[1] - $birth[1] == 0 && $today[2] - $birth[2] < 0))
{
$age--;
}
$month = $today[1] - $birth[1];
if ($age < 0)
{
printf("du är inte född än ditt jävla herkslan...");
exit();
}
if ($month < 0)
{
$month = 12 + $month;
}
$date = $today[2] - $birth[2];
if ($date < 0)
{
$date = 31 + $date;
}
printf("$age\n<BR>\n$month\n<BR>\n$date");
}
else
{
printf("yeah...");
}
?>
Vad är felet?
Jag använder mig av följande kodsnutt.
<?
$fodelsedatum = "1981-03-15";
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;
?>
------------------
Gislaved.net
"Tänk på vad du säger så att du inte säger vad du tänker."
Det här fungerar perfekt men det blir ett litet problem när jag hämtar år, månad och datum från databasen för jag får -1 som resultat!