Menghitung Umur atau Usia dengan PHP
Dalam kasus aplikasi mungkin nanti anda akan menjumpai usia / umur yang harus ditampilkan dimana data diambil dari tanggal lahir , dan kemudian dari tanggal lahir yang ada kita harus menampilkan umurnya dalam bentuk tahun bulan hari, atau hanya tahun saja, misalnya , tanggal lahir seseorang 1990-02-28 , nah berapa usia atau umur orang tersebut...????
Untuk menjawab pertanyaan diatas dan sekaligus mengatasi masalah tersebut kita bisa menggunakan PHP untuk menghitung Umur/ Usia dari tanggal Lahir seseorang
Berikut adalah fungsi dimana kita dapat menampilkan umur seseorang dari tanggal lahir, namun hanya dalam bentuk tahun :
<?php
function hitung_umur($tanggal_lahir) {
list($year,$month,$day) = explode("-",$tanggal_lahir);
$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;
}
//Tampilkan Umur dengan Tanggal Lahir 1990-Oktober-25
echo hitung_umur("1990-10-25");
?>
Nah.. Bagaimana untuk query langsung menentukan umur berdasarkan tanggal lahir php mysql ???
<html>
<head>
<title>Menghitung Usia Berdasarkan Tanggal Lahir</title>
</head>
<body>
Sekarang Tanggal :
<?php
$tgl = date('d / m / Y');
echo $tgl
?><p>
<table border="1px" width="400">
<?php
mysql_connect("localhost","root","");
mysql_select_db("tambahhapusedit");
$query = mysql_query("SELECT nama, alamat, tgllahir, kelamin, agama, YEAR(curdate()) - YEAR(tgllahir) AS usia FROM siswa;");
?>
<tr><td>Nama</td><td>Alamat</td><td>Tanggal Lahir</td><td>Kelamin</td><td>Agama</td><td>Usia</td></tr>
<?php
while ($r = mysql_fetch_array($query))
{
echo "<tr>
<td>$r[nama]</td>
<td>$r[alamat]</td>
<td>$r[tgllahir]</td>
<td>$r[kelamin]</td>
<td>$r[agama]</td>
<td>$r[usia]</td></tr>
";
}
?>
</table>
</body>
</html>
Kode diatas dapat kita gunakan untuk menentukan umur seseorang yang umurnya diatas 1 tahun saja, jadi kekurangan dari fungsi script diatas, jika umur balita (bayi) yang masih berumur beberapa bulan saja, tidak akan bisa ditampilkan
Nah.. untuk mengatasi masalah diatas, disini kami memberikan sebuah contoh , lengkap dengan studi kasus yang ada :
<?php
//tanggal lahir
$birthDt = new DateTime('1993-01-15');
//tanggal hari ini
$today = new DateTime('today');
//tahun
$y = $today->diff($birthDt)->y;
//bulan
$m = $today->diff($birthDt)->m;
//hari
$d = $today->diff($birthDt)->d;
echo "Umur: " . $y . " tahun " . $m . " bulan " . $d . " hari";
?>
Berikut ini merupakan studi kasus permasalahan, misalnya kita mempunya database :
<?php
while($r = mysql_fetch_array($result)){
$no++;
//tanggal lahir
$birthDt = new DateTime($r['tanggal']);
//tanggal hari ini
$today = new DateTime('today');
//tahun
$y = $today->diff($birthDt)->y;
//bulan
$m = $today->diff($birthDt)->m;
//hari
$d = $today->diff($birthDt)->d;
if ($y < 2){
if ($y!=0){
$tahun = $y."tahun";
}else{
$tahun = "";
}
echo "
<tr>
<td bgcolor='#EEEF82'>$tahun $m bulan</td></tr>
}
}
?>
Sehingga kita dapat menampilkan usia balita seperti gambar dibawah ini :
OK.. Sekian Dulu Cara Menghitung Umur atau Usia dengan PHP, Semoga Bermanfaat.. Jika ada Pertanyaan silahkan Tinggalkan Komentarnya