V vicktor Medlem sedan okt. 2001 52 inlägg Frågan 14 okt. 2001 12:32 #1 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.
C cerebus Medlem sedan jan. 2001 62 inlägg 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
V vicktor Medlem sedan okt. 2001 52 inlägg 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]
L loriel Medlem sedan juli 2000 38 inlägg 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]
V vicktor Medlem sedan okt. 2001 52 inlägg 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."
V vicktor Medlem sedan okt. 2001 52 inlägg 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!
Testa med en ändrade koden i mitt förra inlägg ...
------------------
B44Z