国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php格式化時間戳顯示友好的時間實現思路及代碼

2024-05-04 23:26:20
字體:
來源:轉載
供稿:網友

顯示為2014-10-20 10:22顯得很呆板,那么用php怎么實現友好的時間格式呢?下面將思路與實現代碼與大家分享下

在項目中時間一律顯示為2014-10-20 10:22顯得很呆板。在微博、QQ空間等網站通常會顯示為幾秒前,幾分鐘前,幾小時前等容易閱讀的時間,我們稱之為友好的時間格式。那么用php怎么實現呢?

大體思路如下:

如果是跨年并且大于3天就顯示為具體的時間

如果是今天的

如果是一分鐘內則顯示幾秒之前

如果是一小時內則顯示幾分鐘前

如果是當天且大于一小時則顯示為幾小時前

如果是昨天則顯示為昨天幾點

如果是前天則顯示為前天幾點

如果大于三天(沒有跨年)則顯示為幾月幾號

根據以上思路就不難寫出實現代碼了:

實現代碼如下:

 

  1. //格式化友好顯示時間 
  2. function formatTime($time){ 
  3. $now=time(); 
  4. $day=date('Y-m-d',$time); 
  5. $today=date('Y-m-d'); 
  6.  
  7. $dayArr=explode('-',$day); 
  8. $todayArr=explode('-',$today); 
  9.  
  10. //距離的天數,這種方法超過30天則不一定準確,但是30天內是準確的,因為一個月可能是30天也可能是31天 
  11. $days=($todayArr[0]-$dayArr[0])*365+(($todayArr[1]-$dayArr[1])*30)+($todayArr[2]-$dayArr[2]); 
  12. //距離的秒數 
  13. $secs=$now-$time
  14.  
  15. if($todayArr[0]-$dayArr[0]>0 && $days>3){//跨年且超過3天 
  16. return date('Y-m-d',$time); 
  17. }else
  18.  
  19. if($days<1){//今天 
  20. if($secs<60)return $secs.'秒前'
  21. elseif($secs<3600)return floor($secs/60)."分鐘前"
  22. else return floor($secs/3600)."小時前"
  23. }else if($days<2){//昨天 
  24. $hour=date('h',$time); 
  25. return "昨天".$hour.'點'
  26. }elseif($days<3){//前天 
  27. $hour=date('h',$time); 
  28. return "前天".$hour.'點'
  29. }else{//三天前 
  30. return date('m月d號',$time); 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁远县| 临沧市| 同仁县| 高碑店市| 诏安县| 洪泽县| 双流县| 井陉县| 汤阴县| 凤凰县| 台江县| 蓬安县| 沅陵县| 兴宁市| 都江堰市| 朝阳市| 沂南县| 林西县| 遂平县| 虎林市| 杂多县| 星子县| 永昌县| 长垣县| 若尔盖县| 曲周县| 尚义县| 枣强县| 武义县| 永定县| 呼伦贝尔市| 邵阳市| 增城市| 吉林省| 天门市| 巧家县| 钟山县| 荣昌县| 雅江县| 麻江县| 安义县|