WHAT'S NEW?
Loading...

'time ago' pada Laravel



Lama ga ngeblog, saking sibuknya hehe

Kali ini mau share pengalaman dari petualangan belajar Laravel, yaitu menggunakan time ago, kira-kira gimana, langsung aja diliat di bawah.

  1. Tambahkan code ini pada file Controller

    public static function time_elapsed_string($datetime, $full = false) {
    $now = new DateTime;
    $ago = new DateTime($datetime);
    $diff = $now->diff($ago);
    
    $diff->w = floor($diff->d / 7);
    $diff->d -= $diff->w * 7;
    
    $string = array(
         'y' => 'year',
         'm' => 'month',
         'w' => 'week',
         'd' => 'day',
         'h' => 'hour',
         'i' => 'minute',
         's' => 'second',
     );
     foreach ($string as $k => &$v) {
         if ($diff->$k) {
             $v = $diff->$k . ' ' . $v . ($diff->$k > 1 ? 's' : '');
         } else {
             unset($string[$k]);
         }
     }
    
     if (!$full) $string = array_slice($string, 0, 1);
     return $string ? implode(', ', $string) . ' ago' : 'just now';
    }
  2. Taro code ini di view

    use App\Http\Controllers\FileController;
  3. Dan untuk memanggilnya

    {{ FileController::namaFunction(valueDatenya, true) }}
    untuk menampilkan hanya dalam hitungan harian, jaman, atau menitan saja gunakan 'false', dan untuk menampilkan full beserta jam, menit, detik gunakan 'true' pada parameternya.
  4. Jangan lupa tambahkan ini pada Controllernya, karena fungsinya menggunakan DateTime;

    use DateTime;
  5. Dan tara... jadi.

     

Maaf tulisan acak2, yang penting isinya :) 

0 comments:

Post a Comment