Kalian pasti sering sekali membuka Facebook maupun twitter dan tanpa disadari kalian juga memperhatikan Waktu yang tertera setelah kalian Comment/reTweet dan Update Status/Tweet, Oleh karena itu dala kesempatan ini kita akan coba membuat Relative Time versi PHP dan dibuat sesimple mungkin agar mudah cara penggunaannya.
Untuk apa sih Relative Time toh menggunakan waktu yang Standart juga tidak ada masalah, memang benar menggunakan waktu yang Standart juga tidak apa2 tapi akan lebih bagus lagi dan pengunjung website yang kalian buat akan lebih mengerti kapan tepatnya Sebuah Komentar ataupun Artikel ini dibuat.
Ok kita akan buat 1 fungsi yang akan mengolah String waktu yang kalian buat menjadi Relative time,
Lihat code dibawah :
function RelativeTime( $timestamp ){ // Fungsi Relative Time
if( !is_numeric( $timestamp ) ){ // jika tanggal bukan Numeric
$timestamp = strtotime( $timestamp ); // jadikan Numeric
if( !is_numeric( $timestamp ) ){
return “”;
}
}
$difference = time() – $timestamp; // Waktu saat ini dikurangi waktu timestamp (input)
$periods = array( “sec”, “min”, “hour”, “day”, “week”, “month”, “years”, “decade” ); // Ubah sesuai yang kalian inginkan.
$lengths = array( “60”,”60″,”24″,”7″,”4.35″,”12″,”10″); //Pengatur detik, menit, jam, hari, bulan dll
if ($difference > 0) { //Jika hasil diference lebih dari 0.
$ending = “ago”;
}else { // this was in the future
$difference = -$difference;
$ending = “to go”;
}
for( $j=0; $difference>=$lengths[$j] and $j < 7; $j++ ) // ulangi sebanyak $length (total)
$difference /= $lengths[$j];
$difference = round($difference); // Bulatkan hasilnya
if( $difference != 1 ){
$periods[$j].= “s”;
}
$text = “$difference $periods[$j] $ending”; // Hasil dari fungsi dikelompokan
return $text; // Hasil Varibel $text
}
Contoh menggunakannya :
echo RelativeTime(“2012-05-19 06:52:33”); //waktu artikel ini dubuat
echo RelativeTime(date(“Y-m-d H:i:s”)); // Tanggal saat ini dalam script php
untuk hasil akan disesuaikan waktu kalian mengeksekusi script diatas jadi
Catatan :
– Fungsi diatas bukan hasil saya membuat, namun saya lupa Credit orang yang membuat (saya hanya menambahkan sedikit setuhan saja).