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 ?>