Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

menghitung dan menampilkan tanggal sebagai 'detik yang lalu', 'menit yang lalu', 'jam yang lalu' dll

Anda dapat menggunakan fungsi berikut dan menyebutnya sebagai format_interval(time() - $saved_timestamp) , di mana $saved_timestamp adalah stempel waktu "acara" yang Anda minati. (Kode berikut dilisensikan di bawah GNU General Public License v2 atau berturut-turut .)

function format_interval($interval, $granularity = 2) {
  $units = array('1 year|@count years' => 31536000, '1 week|@count weeks' => 604800, '1 day|@count days' => 86400, '1 hour|@count hours' => 3600, '1 min|@count min' => 60, '1 sec|@count sec' => 1);
  $output = '';
  foreach ($units as $key => $value) {
    $key = explode('|', $key);
    if ($interval >= $value) {
      $floor = floor($interval / $value);
      $output .= ($output ? ' ' : '') . ($floor == 1 ? $key[0] : str_replace('@count', $floor, $key[1]));
      $interval %= $value;
      $granularity--;
    }

    if ($granularity == 0) {
      break;
    }
  }

  return $output ? $output : '0 sec';
}

$granularity adalah jumlah unit yang berbeda untuk ditampilkan. Misalnya, format_interval(32745600) akan mengembalikan "1 year 2 weeks" .

Kode yang saya tunjukkan adalah versi pengurangan dari format_interval() yang datang dengan Drupal 7, yang merupakan kode yang didistribusikan di bawah GNU General Lisensi Publik v2 atau berturut-turut lisensi. (Lihat juga HAK CIPTA.txt )
Saya melepas bagian yang sangat spesifik dari Drupal, dan meninggalkan kode yang menggunakan fungsi PHP biasa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - Buat sepasang nilai unik

  2. Apakah baik menggunakan htmlspecialchars() sebelum Memasukkan ke MySQL?

  3. Cara Membuat Database di MySQL

  4. MySQL menghapus catatan duplikat tetapi tetap terbaru

  5. MySQL Pesan sebelum Grup oleh