刚刚,一年前,时间判断代码重写
function
mdate(
$time
= NULL) {
$text
=
''
;
$time
=
$time
=== NULL ||
$time
> time() ? time() :
intval
(
$time
);
$t
= time() -
$time
;
//时间差 (秒)
$y
=
date
(
'Y'
,
$time
)-
date
(
'Y'
, time());
//是否跨年
switch
(
$t
){
case
$t
== 0:
$text
=
'刚刚'
;
break
;
case
$t
< 60:
$text
=
$t
.
'秒前'
;
// 一分钟内
break
;
case
$t
< 60 * 60:
$text
=
floor
(
$t
/ 60) .
'分钟前'
;
//一小时内
break
;
case
$t
< 60 * 60 * 24:
$text
=
floor
(
$t
/ (60 * 60)) .
'小时前'
;
// 一天内
break
;
case
$t
< 60 * 60 * 24 * 3:
$text
=
floor
(
$time
/(60*60*24)) ==1 ?
'昨天 '
.
date
(
'H:i'
,
$time
) :
'前天 '
.
date
(
'H:i'
,
$time
) ;
//昨天和前天
break
;
case
$t
< 60 * 60 * 24 * 30:
$text
=
date
(
'm月d日 H:i'
,
$time
);
//一个月内
break
;
case
$t
< 60 * 60 * 24 * 365&&
$y
==0:
$text
=
date
(
'm月d日'
,
$time
);
//一年内
break
;
default
:
$text
=
date
(
'Y年m月d日'
,
$time
);
//一年以前
break
;
}
return
$text
;
}
/**
* 友好时间显示
* @param $time
* @return bool|string
*/
function
friend_date(
$time
)
{
if
(!
$time
)
return
false;
$fdate
=
''
;
$d
= time() -
intval
(
$time
);
$ld
=
$time
-
mktime
(0, 0, 0, 0, 0,
date
(
'Y'
));
//得出年
$md
=
$time
-
mktime
(0, 0, 0,
date
(
'm'
), 0,
date
(
'Y'
));
//得出月
$byd
=
$time
-
mktime
(0, 0, 0,
date
(
'm'
),
date
(
'd'
) - 2,
date
(
'Y'
));
//前天
$yd
=
$time
-
mktime
(0, 0, 0,
date
(
'm'
),
date
(
'd'
) - 1,
date
(
'Y'
));
//昨天
$dd
=
$time
-
mktime
(0, 0, 0,
date
(
'm'
),
date
(
'd'
),
date
(
'Y'
));
//今天
$td
=
$time
-
mktime
(0, 0, 0,
date
(
'm'
),
date
(
'd'
) + 1,
date
(
'Y'
));
//明天
$atd
=
$time
-
mktime
(0, 0, 0,
date
(
'm'
),
date
(
'd'
) + 2,
date
(
'Y'
));
//后天
if
(
$d
== 0) {
$fdate
=
'刚刚'
;
}
else
{
switch
(
$d
) {
case
$d
<
$atd
:
$fdate
=
date
(
'Y年m月d日'
,
$time
);
break
;
case
$d
<
$td
:
$fdate
=
'后天'
.
date
(
'H:i'
,
$time
);
break
;
case
$d
< 0:
$fdate
=
'明天'
.
date
(
'H:i'
,
$time
);
break
;
case
$d
< 60:
$fdate
=
$d
.
'秒前'
;
break
;
case
$d
< 3600:
$fdate
=
floor
(
$d
/ 60) .
'分钟前'
;
break
;
case
$d
<
$dd
:
$fdate
=
floor
(
$d
/ 3600) .
'小时前'
;
break
;
case
$d
<
$yd
:
$fdate
=
'昨天'
.
date
(
'H:i'
,
$time
);
break
;
case
$d
<
$byd
:
$fdate
=
'前天'
.
date
(
'H:i'
,
$time
);
break
;
case
$d
<
$md
:
$fdate
=
date
(
'm月d日 H:i'
,
$time
);
break
;
case
$d
<
$ld
:
$fdate
=
date
(
'm月d日'
,
$time
);
break
;
default
:
$fdate
=
date
(
'Y年m月d日'
,
$time
);
break
;
}
}
return
$fdate
;
}