So sánh thời gian hiện tại với thời gian bài viết bằng PHP

Cập nhật: Lượt xem: 416 [ PHP ]

Chắc hẳn khi bạn lướt web sẽ thấy xuất hiện bên cạnh tiêu đề bài viết hoặc comment thường có thời gian hiển thị bên cạnh như : ” Cách đây 1 ngày “, ” Cách đây 3 ngày “,” Cách đây 2 tháng “ …

So sánh thời gian hiện tại với thời gian bài viết bằng PHP

Hôm nay mình xin chia sẻ với các bạn một hàm php giúp bạn làm được điều trên. Các bạn chỉ việc tạo 1 file tên là timeago.php và  copy đoạn code sau và sử dụng bất cứ khi nào bạn cần:

<?php
  function time_stamp($time_ago)
  {
    $cur_time=time();
    $time_elapsed = $cur_time - $time_ago;
    $seconds = $time_elapsed ;
    $minutes = round($time_elapsed / 60 );
    $hours = round($time_elapsed / 3600);
    $days = round($time_elapsed / 86400 );
    $weeks = round($time_elapsed / 604800);
    $months = round($time_elapsed / 2600640 );
    $years = round($time_elapsed / 31207680 );
    // Seconds
    if($seconds <= 60)
    {
    	echo " Cách đây $seconds giây ";
    }
    //Minutes
    else if($minutes <=60)
    {
      if($minutes==1)
      {
          echo " Cách đây 1 phút ";
      }
      else
      {
          echo " Cách đây $minutes phút";
      }
    }
    //Hours
    else if($hours <=24)
    {
      if($hours==1)
      {
      	echo "Cách đây 1 tiếng ";
      }
      else
      {
      	echo " Cách đây  $hours tiếng ";
      }
    }
    //Days
    else if($days <= 7)
    {
      if($days==1)
      {
      	echo " Ngày hôm qua ";
      }
      else
      {
      	echo " Cách đây  $days ngày ";
      }
    }
    //Weeks
    else if($weeks <= 4.3)
    {
      if($weeks==1)
      {
      	echo " Cách đây 1 tuần ";
      }
      else
      {
      	echo " Cách đây  $weeks tuần";
      }
    }
    //Months
    else if($months <=12)
    {
      if($months==1)
      {
      	echo " Cách đây 1 tháng ";
      }
      else
      {
      	echo " Cách đây $months tháng";
      }
    }
    //Years
    else
    {
      if($years==1)
      {
      	echo " Cách đây 1 năm ";
      }
      else
      {
      	echo " Cách đây $years năm ";
      }
    }
  }
?>

Để dễ hiểu mình xin làm 1 ví dụ minh họa về cách sử dụng hàm này:

<?
  include 'timeago.php';
  $time="2017-11-08 15:47:01";
  $time_ago =strtotime($time);
  echo time_stamp($time_ago);
?>

Hy vọng đoạn hàm trên sẽ giúp ích cho các bạn. Chúc các bạn thành công !