PHP时间格式美化以及封装

 1 <?php
 2 //时间美化函数
 3 /*
 4 * Beautifytime() 时间美化函数
 5 * $strArr    字符串或数组
 6 * $style    样式,1(**秒前)、2(年月日)、3(02014-5-26)、4(2014-5-26 17:22:32)
 7 * $dArr    额外的时间字段(数组形式,如:array('aaa','bbbb'))
 8 */
 9 function Beautifytime($strArr, $style = 1, $dArr = '') {
10     $style = intval($style);
11     //判断是否是数组
12     if (is_array($strArr)) {
13         for ($i = 0; $i < count($strArr); $i++) {
14             if ($strArr[$i]['add_time']) {
15                  $strArr[$i]['datetime'] = btime($strArr[$i]['add_time'], $style);
16             }
17            //判断是否有额外的时间字段
18            if (is_array($dArr)) {
19                 for ($j = 0; $j < count($dArr); $j++) {
20                 $strArr[$i][$dArr[$j]] = btime($strArr[$i][$dArr[$j]], $style);
21                 }
22            }
23         }
24     }else {
25          btime($strArr, $style);
26     }
27     return $strArr;
28 }
29 function btime($dateTime, $style) {
30     $timename = '';
31     switch ($style) {
32          case ($style == 1):
33              $betime = time() - $dateTime;
34              switch($betime) {
35              case ($betime < 60):
36                  $timename = floor($betime).'秒前';
37                  break;
38              case ($betime < 3600 && $betime > 60):
39                  $timename = floor(($betime/60)).'分钟前';
40                  break;
41              case ($betime < 86400 && $betime > 3600):
42                  $timename = floor(($betime/60/60)).'小时前';
43                  break;
44              case ($betime < 2592000 && $betime > 86400):
45                  $timename = floor(($betime/60/60/30)).'天前';
46                  break;
47              case ($betime < 31536000 && $betime > 2592000):
48                  $timename = floor(($betime/60/60/30/12)).'个月前';
49                  break;
50              case ($betime < 3153600000 && $betime > 31536000):
51                  $timename = floor(($betime/60/60/30/12/12)).'年前';
52              break;
53              }
54          break;
55          case ($style == 2):
56              $timename = date('Y年m月d日', $dateTime);
57              break;
58          case ($style == 3):
59              $timename = date('Y-m-d', $dateTime);
60              break;
61          case ($style == 4):
62              $timename = date('Y-m-d H:i:s', $dateTime);
63              break;
64         }
65     return $timename;
66 }
67 echo Beautifytime(time(), 2);
68 ?>

 

posted @ 2017-02-08 15:01  ー個亽の江湖  阅读(353)  评论(0编辑  收藏  举报