<?php
$lahir = mktime(0, 0, 0, 1, 9, 2011); //jam,menit,detik,bulan,tanggal,tahun
$t = time();
$umur = ($lahir < 0) ? ( $t + ($lahir * -1) ) : $t - $lahir;
$tahun = 60 * 60 * 24 * 365;
$tahunlahir = $umur / $tahun;
$umursekarang=floor($tahunlahir) ;
echo 'Umur anda ' .$umursekarang. ' tahun.';
?>
dari kode diatas bisa kita lihat bahwa perhitungan umur dilakukan dengan menggunakan fungsi mktime untuk mendapatkan konversi tanggal dalam angka (timestamp). Kemudian melakukan pengecekan apakah nilai dari hasil mktime kurang dari 0, jika ya maka nilai dikalikan dengan -1 (dijadikan nilai negatif), jika tidak maka tanggal sekarang yang diwakili variabel $t dikurangkan dengan nilai tanggal lahir.
Kemudian dilakukan perhitungan jumlah nilai dalam 1 tahun (60 detik * 60 menit * 24 jam * 365 hari), setelah itu nilai umur dibagi dengan jumlah nilai 1 tahun.
Dan yang terakhir dilakukan pembulatan kebawah dari nilai hasil perhitungan, sehingga nilai umur diketahui dan ditampilkan.
Anda juga bisa ubah kode diatas menjadi sebuah function untuk menghitung umur agar lebih mudah memanggilnya secara berulang dengan cara :
function HitungUmur($tgllhr)Dan bisa dengan mudah memanggil function diatas dengan cara :
{
list($tgl,$bln,$thn) = explode('-',$tgllhr);
$lahir = mktime(0, 0, 0, (int)$bln, (int)$tgl, $thn); //jam,menit,detik,bulan,tanggal,tahun
$t = time();
$umur = ($lahir < 0) ? ( $t + ($lahir * -1) ) : $t - $lahir;
$tahun = 60 * 60 * 24 * 365;
$tahunlahir = $umur / $tahun;
$umursekarang=floor($tahunlahir) ;
return $umursekarang;
}
<?php
$tanggallahir = "12-01-1985"; //dengan format tanggal bulan tahun
echo HitungUmur($tanggallahir);
?>
Nice Tante Tutor'a...
ReplyDelete:)