Saturday, December 24, 2016

Membuat Format Waktu Time Ago Seperti Twitter Dengan PHP


Format penanggalan atau penulisan usia postingan seperti twitter memang menarik, kita namakan saja format ini dengan ‘Time Ago’ dimana jika kita membuat tweet 3 menit yang lalu akan tertulis 3 minutes ago, jika 2 jam yang lalu akan tertulis 2 hours ago, jika 3 hari yang lalu maka akan tertulis 3 days ago, 3 monts ago, 3 years ago.
Pada tulisan kali ini kita akan mencoba membuat format seperti itu dengan menggunakan PHP.
Membuat Fungsi
Pertama kita buat terlebih dahulu fungsi untuk menangani ini
function timeAgo($timestamp){
$time = time() - $timestamp;

if ($time < 60)
return ( $time > 1 ) ? $time . ' seconds' : 'a second';
elseif ($time < 3600) {
$tmp = floor($time / 60);
return ($tmp > 1) ? $tmp . ' minutes' : ' a minute';
}
elseif ($time < 86400) {
$tmp = floor($time / 3600);
return ($tmp > 1) ? $tmp . ' hours' : ' a hour';
}
elseif ($time < 2592000) {
$tmp = floor($time / 86400);
return ($tmp > 1) ? $tmp . ' days' : ' a day';
}
elseif ($time < 946080000) {
$tmp = floor($time / 2592000);
return ($tmp > 1) ? $tmp . ' months' : ' a month';
}
else {
$tmp = floor($time / 946080000);
return ($tmp > 1) ? $tmp . ' years' : ' a year';
}
}
Cara penggunaan
echo 'About '. timeAgo(time() - 60 * 3). ' ago </br>';
echo 'About '. timeAgo(time() - 60 * 30). ' ago </br>';
echo 'About '. timeAgo(time() - 60 * 300). ' ago </br>';
echo 'About '. timeAgo(time() - 60 * 3000). ' ago </br>';
echo 'About '. timeAgo(time() - 60 * 30000). ' ago </br>';
echo 'About '. timeAgo(time() - 60 * 300000). ' ago </br>';
echo 'About '. timeAgo(time() - 60 * 3000000). ' ago </br>';
echo 'About '. timeAgo(time() - 60 * 30000000). ' ago </br>';
Hasilnya seperti ini
About 3 minutes ago
About 30 minutes ago
About 5 hours ago
About 2 days ago
About 20 days ago
About 6 months ago
About 69 months ago
About a year ago 
 
Demikian trik singkat membuat format penanggalan time ago dengan php, semoga berguna.

No comments:
Write comments