Page 1 of 1

Leeftijd berekenen

Posted: Wed Oct 05, 2011 4:51 pm
by Jos
Je hebt wel eens van die sites waar een biografie op staat waar de site-eigenaar zijn/haar leeftijd in vermeld heeft.

Bij het maken van de site wordt dat natuurlijk netjes ingevuld, maar jaren later zie je dat de betreffende persoon geen enkel graadje ouder is geworden.

Hierbij een UDT (user defined tag) die dat oplost. In plaats van de werkelijke leeftijd, vul je een aanroep naar de tag in, bijvoorbeeld zo:
<p>Mijn naam is beppie, ik ben {Age birthday='1980-01-31'} jaar en ik doe MiepMiep na....</p>
Om de tag te kunnen gebruiken, maak je een nieuwe UDT aan met naam "Age" en plak onderstaande code erin:

Code: Select all

if ( isset($params['birthday']) )
{
  list($year,$month,$day) = explode('-',$params['birthday']);
  if ( checkdate ($month, $day, $year) )
  {
    $age = Date('Y') - $year - (int)(($month * 100 + $day) > Date(md));
    echo $age;
  }
  else
  {
    echo '<Parameter birthday is not valid (yyyy-mm-dd)>';
  }
}
else
{
  echo '<Parameter birthday is not set>';
}

Re: Leeftijd berekenen

Posted: Fri Dec 02, 2011 4:27 pm
by Rolf
Humm, deze UDT geeft voor mij een verkeerde leeftijd... Als ik mijn geboortedag invoer dan geeft deze iedere keer 42 aan... Dit terwijl ik toch al jaren 27 ben :D

Maar leuke UDT Jos! Brengt me weer op ideƫen ;)

grtz. Rolf

Re: Leeftijd berekenen

Posted: Tue Apr 21, 2015 12:46 pm
by Rolf
In verband met:
Notice: Use of undefined constant md - assumed 'md' in /public/sites/www.website.nl/lib/classes/class.userta ... c.php(265) : eval()'d code on line 6

Code: Select all

Date(md)
in de UDT aanpassen in:

Code: Select all

Date('md')
Dan werkt hij weer zonder melding...

grtz. Rolf

Re: Leeftijd berekenen

Posted: Tue Apr 21, 2015 1:42 pm
by pasmaskas
Hmm bij mij doet hij ook raar ??? hij zegt dat ik 30 ben maar ben 18 heeft vast met die Notice te maken idd

Re: Leeftijd berekenen

Posted: Thu Jan 31, 2019 6:25 pm
by Rolf
Ik heb de UDT nu gebruikt op mijn website om te tonen hoe lang geleden een bepaalde gebeurtenis plaats heeft gevonden:
https://pneumatic.tube/calendar

UDT CalculateAge

Code: Select all

if ( isset($params['date']) )
{
  list( $day, $month, $year ) = explode( '-', $params['date'] );

  if ( checkdate ($month, $day, $year) )
  {
    $age = date('Y') - $year - (int)(($month * 100 + $day) > date('md'));
    echo $age;
  }
  else
  {
    echo '<Parameter date is not valid (dd-mm-yyyy)>';
  }
}
else
{
  echo '<Parameter date is not set>';
}

Code: Select all

{CalculateAge date='dd-mm-yyyy'}
De parameter wordt gevuld vanuit de LISE module.

Code: Select all

({CalculateAge date=$item->fielddefs.date|date_format:'%d-%m-%Y'|default:'0'} years ago)

Re: Leeftijd berekenen

Posted: Sun Feb 03, 2019 9:13 pm
by deactivated010521
Ook te doen met SQL, je maakt '1970-02-01' dan een variable.

SELECT TIMESTAMPDIFF(YEAR, '1970-02-01', CURDATE()) AS age