login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Handige scripts > Leeftijd berekenen

Leeftijd berekenen

Auteur: Gerard - 13 december 2008 - 00:39 - Gekeurd door: Gerard - Hits: 6361 - Aantal punten: 5.00 (5 stemmen)



Met de functie is het mogelijk om de leeftijd te berekenen van iemand op basis van zijn geboortedatum. In tegenstelling tot andere scripts op deze website, om de leeftijd te berekenen, hoeft de datum niet in een vast format aangeleverd te worden.

Wanneer de functie een datum krijgt die niet omgezet kan worden zal deze false teruggeven. Hier kan dan door de programmeur op gecontroleerd worden.

Code:
  1. <?php
  2.  
  3. /**
  4.   * This function calculates the age acccording to the birthday provided. The function makes use of the
  5.   * strtotime() of PHP to convert the parameter to a timestamp. Therefore this function accepts all the
  6.   * types of input the strtotime() function accepts. For more information about the use of the function
  7.   * please visit http://us.php.net/manual/en/function.strtotime.php
  8.   *
  9.   * @author Gerard Klomp <glj.klomp@gmail.com>
  10.   * @version 1.0
  11.   * @license MIT License - http://www.opensource.org/licenses/mit-license.php
  12.   * @return integer|boolean Returns age as an integer on success, FALSE otherwise.
  13.   * @param string $dateString String representing the date to be calculated against the current date/time
  14.   */
  15. function calculateAgeByBirthday($dateString) {
  16.  
  17. $timestamp = strtotime($dateString);
  18.  
  19. if ($timestamp === false || $timestamp == -1) {
  20. return false;
  21. }
  22.  
  23. return date('Y') - date('Y', $timestamp) - (date('m') < date('m', $timestamp) ? 1 : (date('m') == date('m', $timestamp) && date('d') < date('d', $timestamp) ? 1 : 0));
  24.  
  25. }


Bovenstaande code werkt met datums die uit een MySQL database worden gehaald.
  1. <?php
  2. echo calculateAgeByBirthday('1985-07-13 12:00:00');
  3. echo calculateAgeByBirthday('13 july 1985');
  4. echo calculateAgeByBirthday('13');

Dit zal 2 maal 23 opleveren (op het moment van schrijven) en eenmaal zal er niets getoond worden omdat de datum niet volledig was.

Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (2)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.027s