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).