การคำนวนอายุ

<?
function age($birthday) {
  list($day,$month,$year) = explode("-",$birthday);
  $year_diff = date("Y") - $year;
  $month_diff = date("m") - $month;
  $day_diff = date("d") - $day;
  if ($month_diff < 0) $year_diff--;
  elseif (($month_diff==0) & ($day_diff < 0)) $year_diff--;
  return "อายุ ".$year_diff." ปี ".$month_diff." เดือน ".$day_diff." วัน<br />";
}
?>

ฟังก์ชั่นคำนวณอายุ ด้วย PHP แบบที่ 1

<?php
  echo age("1-3-2006") //คศ.
?>

<?
function age($birthday) {
  list($day,$month,$year) = explode("-", $birthday);

  $datedeb=mktime(0,0,0,$month,$day,$year);
  $datefin=time();

  $aad=date("Y",$datedeb);
  $mmd=date("m",$datedeb);
  $jjd=date("d",$datedeb);

  $aaf=date("Y",$datefin);
  $mmf=date("m",$datefin);
  $jjf=date("d",$datefin);

  $nbj=array(0,31,28,31,30,31,30,31,31,30,31,30,31); //วันแต่ละเดือน
  if(($aaf % 4)==0){$nbj[2]=29;} //ปีอธิกสุรทิน
  if((($aaf % 100)==0)&(($aaf % 400)!=0)){$nbj[2]=28;} //ปีอธิกสุรทิน

  if($jjf<$jjd){$jjf=$jjf+$nbj[(int)$mmf];$mmf=$mmf-1;}
  if($mmf<$mmd){$mmf=$mmf+12;$aaf=$aaf-1;}
  return "อายุ ".($aaf-$aad)." ปี ".($mmf-$mmd)." เดือน ".($jjf-$jjd)." วัน<br />";
}
?>

แบบที่ 2 ไม่รู้ว่าอย่างไหนแม่นกว่ากัน

<?php
  echo age("1-3-2006") //คศ.
?>

ผู้เขียน goragod โพสต์เมื่อ 02 เม.ย. 2551 เปิดดู 17,556 ป้ายกำกับ PHP
^