Sunday, April 14, 2013

Script PHP menghitung umur

Berikut ini contoh kode singkat cara melakukan perhitungan umur dengan php:
<?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)
{
    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;
}
Dan bisa dengan mudah memanggil function diatas dengan cara :
<?php
  $tanggallahir = "12-01-1985"; //dengan format tanggal bulan tahun
  echo HitungUmur($tanggallahir);
?>

1 comment :

Kebahagiaan sejati bukanlah pada saat kita berhasil meraih apa yg kita perjuangkan, melainkan bagaimana kesuksesan kita itu memberi arti atau membahagiakan orang lain.

Follower

Google+ Followers

Translator

English French German Japanese Korean Chinese Russian Spanish
India Saudi Arabia Netherland Portugal Italian Philippines Ukraina Norwegia
Powered by
Widget translator