Nasıl kolayca bir doğum günü gelen yaşını belirler?

3 Cevap php

Possible Duplicate:
Calculate years from date

Merhaba,

Ben doğum günü temsil eden bir alanı olan bir tablo var. Nasıl bu tarihten itibaren kişinin yaşı buluyorsunuz?

Bu benim ne var.

$qPersoonsgegevens = "SELECT * FROM alg_persoonsgegevens WHERE 
alg_persoonsgegevens_leerling_ID = $leerling_id";

$rPersoonsgegevens = mysql_query($qPersoonsgegevens);
$aPersoonsgegevens = mysql_fetch_assoc( $rPersoonsgegevens );

$timeBirthdate = mktime($aPersoonsgegevens['alg_persoonsgegevens_geboortedatum']);

Ne yazık ki, yaş almak için o noktadan itibaren devam etmek nasıl bilmiyorum.

Any help is much appreciated.
Matthy

3 Cevap

This has been asked before. bu deneyin:

function getAge($then) {
    $then = date('Ymd', strtotime($then));
    $diff = date('Ymd') - $then;
    return substr($diff, 0, -4);
}

Şöyle diyoruz:

$age = getAge($aPersoonsgegevens['alg_persoonsgegevens_geboortedatum']);

Birthdays and Ages are Culturally Dependent

Bazı kültürler anlayışı yaşını saymaya başlamak ya da doğum sırasında 1 yaşında saymaya başlamak olduğunu hatırlamak yararlı olabilir. Özellikle, yaş hesaplama yaparken Kore pazarında dikkatli olmak gerekir.

Ben sorunun yazarı bu bilgiyi ihtiyacı olduğunu sanmıyorum, ama sadece bir yerde ve en bazen bir programcı için yararlı olabilir çünkü bunu haykırmak istedim.

Ben (eski 1 ay altındaki bebekler için) ay ya da gün içinde bebekler (24 aya kadar) için yaş görüntüleyen bir app yazdı:

public function getAge ()
{
  if ($this->getBirthDate() === null) {
return null;
  }

  if (! $this->getAdmitTime() == null ) {
$relative_to = $this->getAdmitTime(null);  # null format returns Unix ts
  }
  else {
$relative_to = time(); # Unix ts
  }

  $age_in_seconds = $relative_to - $this->getBirthDate(null);
  $age_in_years = intval($age_in_seconds / (60*60*24*365.25));

  if ($age_in_years >= 2) {
return $age_in_years;
  }
  else {
$age_in_months = intval($age_in_seconds / (60*60*24*30));
if ($age_in_months >= 1) {
  return "$age_in_months month". ($age_in_months == 1 ? '' : 's');
}
else {
  $age_in_days = intval($age_in_seconds / (60*60*24));
  return "$age_in_days day" . ($age_in_days == 1 ? '' : 's');
}
  }

}

Yani bu insan-okunabilir yaş değerlere sahip olabilir:

  • 21
  • 3
  • 17 ay
  • 3 gün