webForumDet fria alternativet

Ålder

9 svar · 278 visningar · startad av vicktor

vicktorMedlem sedan okt. 200152 inlägg
#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.

cerebusMedlem sedan jan. 200162 inlägg
#2

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

vicktorMedlem sedan okt. 200152 inlägg
#3

Finns det ingen enklare sätt för det finns det i asp.

SuPeR_ToBBeMedlem sedan mars 2001185 inlägg
#4

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]

vicktorMedlem sedan okt. 200152 inlägg
#5

Nej det fungerar inte!

lorielMedlem sedan juli 200038 inlägg
#6

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 &#0124;&#0124; $birth[2] < 1 &#0124;&#0124; $birth[2] > 31)
   {
    printf("vad är ditt problem?..");
    exit();
   }
  $age = $today[0] - $birth[0];
  if ($today[1] - $birth[1] < 0 &#0124;&#0124; ($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]

vicktorMedlem sedan okt. 200152 inlägg
#7

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?

Gislaved.netMedlem sedan juni 20001 521 inlägg
#8

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)&#0124;&#0124;(($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."

vicktorMedlem sedan okt. 200152 inlägg
#9

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!

SuPeR_ToBBeMedlem sedan mars 2001185 inlägg
#10

Testa med en ändrade koden i mitt förra inlägg ...

------------------
B44Z

132 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)