Afid Arifin – Pernahkah Anda melihat waktu yang telah berlalu seperti di sosial media? Waktu yang telah berlalu biasanya tampil di situs media sosial media.

Selain itu, website saya juga menggunakan sistem waktu berlalu untuk menandai waktu pada tiap artikel yang terbit.

Lalu, bagaimana cara membuat waktu telah berlalu dengan menggunakan php? Tenang, saya telah menyiapkan source code dan tinggal kalian pakai saja.

Tutorial Membuat Waktu Berlalu dengan PHP

Tutorial Membuat Waktu Berlalu dengan PHP

Hasil dari source code ini akan menghasilkan lamanya waktu seperti berikut.

  • Baru saja.
  • 1 Menit.
  • 1 Jam.
  • 1 Minggu.
  • 1 Bulan.
  • 1 Tahun.

Jumlah hari yang berjalan akan mengikuti timestamp atau detik yang dieksekusi. Lebih lengkapnya lagi, silahkan buat file php baru dan dalam hal ini saya membuat dengan nama file time.php lalu copy pastekan kode php berikut.

<?php
class Time {
  private $list;
  private $timeAgo;

  public function _time($seconds = '') {
    $this->list = [
      ['seconds' => (31536000), 'names' => 'tahun'],
      ['seconds' => (2592000), 'names' => 'bulan'],
      ['seconds' => (604800), 'names' => 'minggu'],
      ['seconds' => (86400), 'names' => 'hari'],
      ['seconds' => (3600), 'names' => 'jam'],
      ['seconds' => (60), 'names' => 'menit'],
    ];

    $this->timeAgo = time() - $seconds;

    if($this->timeAgo < $this->list[5]['seconds']) {
      return 'Baru saja';
    }

    for($i = 0; $i <= count($this->list); $i++) {
      $this->seconds = $this->list[$i]['seconds'];
      $this->names = $this->list[$i]['names'];
      
      if(($this->count = floor($this->timeAgo / $this->seconds)) != 0) {
				break;
			}
    }

    return ($this->count == 1) ? '1 '.$this->names : "$this->count {$this->names}";
  }
}

$time = new Time();
echo $time->_time(1610029701);
?>

Setelah kalian buat file tersebut jangan lupa kemudian run dan lihatlah hasilnya. Jika berhasil, maka akan menghasilkan output seperti 1 menit yang lalu dan sebagainya.

Pada bagian echo $time->_time(1610029701); dari source code di atas dapat kalian ganti menjadi seperti echo $time->_time(time()); atau disesuaikan dengan kebutuhan kalian.

You may also like

Leave a reply

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *