2018年10月5日 星期五

[程式設計] PHP計算時間距離(仿Facebook),X秒之前...

本函數設計的概念源自於Facebook的PO文,HCYang在10秒前回應...

原理大概就是用系統秒時間的差異來除時間單位,以最大的商數作為回傳值

程式碼:

<?php
function time_after($time){
 $t = time() - strtotime($time);
 $f = array(
  '31536000' => '年',
  '2592000' => '個月',
  '604800' => '星期',
  '86400' => '天',
  '3600' => '小時',
  '60' => '分鐘',
  '1' => '秒'
 );
 foreach($f as $k => $v){
  if(0 != $c = floor($t/(int)$k)){
   return $c.$v.'前';
  }
 }
 return '剛剛';
}
?>

使用範例:

<?php
$a = date("Y-m-d H:i:s");   //現在時間
$b = "2015-12-28 15:00:00"; //比較時間
$c = time_after($b);        //計算
 
echo "現在時間:".$a."<br>";
echo "比較時間:".$b."<br>";
echo "結果:".$c;
?>

執行結果:

現在時間:2015-12-28 15:42:36
比較時間:2015-12-28 15:00:00
結果:42分鐘前

沒有留言:

張貼留言