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 FungsiPertama 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 penggunaanecho '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 iniAbout 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