2018/10/05

[程式設計] 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分鐘前

沒有留言:

別被兩次經驗嚇跑!揭開「小樣本偏誤」的真相

你有沒有遇過這種人:數學只考一次就說「我真的不適合算數學」;或是跟另一半吵兩次架,就認定對方「根本不在乎我」。這類推論乍看合理,其實暗藏心理學與統計上的大坑——這就是所謂的「小樣本偏誤」(Law of Small Numbers)。 簡單說,人類天生不擅長處理機率。當我們看到...