PHP实现时间日期友好显示实现代码

系统的友好性在开发过程中是非常重要的,一个系统非常友好不光可以带给用户非常棒的使用体验,而且还可以使系统有这更长的寿命,今天这篇博文主要来展示一个我们如何让日期时间更加友好的显示。

下面就是使时间日期友好显示的代码:核心代码:

  1. <?php
  2. /**
  3. * =======================================
  4. * Created by Zhihua_W.
  5. * Author: Zhihua_W
  6. * Date: 2016/11/23 0001
  7. * Time: 下午 5:45
  8. * Project: PHP开发小技巧
  9. * Power: 实现日期时间友好显示
  10. * =======================================
  11. */
  12. /**
  13. * 日期时间友好显示
  14. * @param $time
  15. * @return bool|string
  16. */
  17. function friend_date($time)
  18. {
  19. if (!$time) {
  20. return false;
  21. }
  22. $fdate = '';
  23. $d = time() - intval($time);
  24. $ld = $time - mktime(0, 0, 0, 0, 0, date('Y')); //得出年
  25. $md = $time - mktime(0, 0, 0, date('m'), 0, date('Y')); //得出月
  26. $byd = $time - mktime(0, 0, 0, date('m'), date('d') - 2, date('Y')); //前天
  27. $yd = $time - mktime(0, 0, 0, date('m'), date('d') - 1, date('Y')); //昨天
  28. $dd = $time - mktime(0, 0, 0, date('m'), date('d'), date('Y')); //今天
  29. $td = $time - mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')); //明天
  30. $atd = $time - mktime(0, 0, 0, date('m'), date('d') + 2, date('Y')); //后天
  31. if ($d == 0) {
  32. $fdate = '刚刚';
  33. } else {
  34. switch ($d) {
  35. case $d < $atd:
  36. $fdate = date('Y年m月d日', $time);
  37. break;
  38. case $d < $td:
  39. $fdate = '后天' . date('H:i', $time);
  40. break;
  41. case $d < 0:
  42. $fdate = '明天' . date('H:i', $time);
  43. break;
  44. case $d < 60:
  45. $fdate = $d . '秒前';
  46. break;
  47. case $d < 3600:
  48. $fdate = floor($d / 60) . '分钟前';
  49. break;
  50. case $d < $dd:
  51. $fdate = floor($d / 3600) . '小时前';
  52. break;
  53. case $d < $yd:
  54. $fdate = '昨天' . date('H:i', $time);
  55. break;
  56. case $d < $byd:
  57. $fdate = '前天' . date('H:i', $time);
  58. break;
  59. case $d < $md:
  60. $fdate = date('m月d日 H:i', $time);
  61. break;
  62. case $d < $ld:
  63. $fdate = date('m月d日', $time);
  64. break;
  65. default:
  66. $fdate = date('Y年m月d日', $time);
  67. break;
  68. }
  69. }
  70. return $fdate;
  71. }
  72. $time = 1442345132;
  73. echo friend_date($time);