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