PHP通用函数 - 日期生成时间轴

 1 /**
 2  * 时间轴函数, Unix 时间戳
 3  * @param int $time 时间
 4  */
 5 function TranTime($time) {
 6     //$time = strtotime($time);
 7     $nowTime = time (); 
 8     $message = ''; 
 9     //一年前
10     if (idate ( 'Y', $nowTime ) != idate ( 'Y', $time )) {
11         $message = date ( 'Y年m月d日', $time );
12     }
13     else {
14         //同一年
15         $days = idate ( 'z', $nowTime ) - idate ( 'z', $time );
16         switch(true){
17             //一天内
18             case (0 == $days):
19                 $seconds = $nowTime - $time;
20                 //一小时内
21                 if ($seconds < 3600) {
22                     //一分钟内
23                     if ($seconds < 60) {
24                         if (3 > $seconds) {
25                             $message = '刚刚';
26                         } else {
27                             $message = $seconds . '秒前';
28                         }
29                     }
30                     $message = intval ( $seconds / 60 ) . '分钟前';
31                 }
32                 $message = idate ( 'H', $nowTime ) - idate ( 'H', $time ) . '小时前';
33                 break;
34                 //昨天
35             case (1 == $days):
36                 $message = '昨天' . date ( 'H:i', $time );
37                 break;
38                 //前天
39             case (2 == $days):
40                 $message = '前天 ' . date ( 'H:i', $time );
41                 break;
42                 //7天内
43             case (7 > $days):
44                 $message = $days . '天前';
45                 break;
46                 //超过7天
47             default:
48                 $message = date ( 'n月j日 H:i', $time );
49                 break;
50         }
51     }
52     return $message;
53 }

 

posted @ 2015-03-19 13:42  Zhou Hr  阅读(2539)  评论(0编辑  收藏  举报