php 给定时间前一小时,PHPCMS v9根据刚刚,1分钟前,1小时前,几天前显示文章日期...

把下面实例代码另存为 time.php= 60 && $minute < (60 * 24)) { //分钟大于等于60分钟且小于一天的分钟数,即按小时显示

$hour = floor($minute / 60); //得到小时数

} elseif ($minute >= (60 * 24) && $minute < (60 * 24 * 30)) { //如果分钟数大于等于一天的分钟数,且小于一月的分钟数,则按天显示

$day = floor($minute / ( 60 * 24)); //得到天数

} elseif ($minute >= (60 * 24 * 30) && $minute < (60 * 24 * 365)) { //如果分钟数大于等于一月且小于一年的分钟数,则按月显示

$month = floor($minute / (60 * 24 * 30)); //得到月数

} elseif ($minute >= (60 * 24 * 365)) { //如果分钟数大于等于一年的分钟数,则按年显示

$year = floor($minute / (60 * 24 * 365)); //得到年数

}

break;

case 2:

//$date为字符串格式 2013-06-06 19:16:12

$date = strtotime($date);

$second = time() - $date;

$minute = floor($second / 60) ? floor($second / 60) : 1; //得到分钟数

if ($minute >= 60 && $minute < (60 * 24)) { //分钟大于等于60分钟且小于一天的分钟数,即按小时显示

$hour = floor($minute / 60); //得到小时数

} elseif ($minute >= (60 * 24) && $minute < (60 * 24 * 30)) { //如果分钟数大于等于一天的分钟数,且小于一月的分钟数,则按天显示

$day = floor($minute / ( 60 * 24)); //得到天数

} elseif ($minute >= (60 * 24 * 30) && $minute < (60 * 24 * 365)) { //如果分钟数大于等于一月且小于一年的分钟数,则按月显示

$month = floor($minute / (60 * 24 * 30)); //得到月数

} elseif ($minute >= (60 * 24 * 365)) { //如果分钟数大于等于一年的分钟数,则按年显示

$year = floor($minute / (60 * 24 * 365)); //得到年数

}

break;

default:

break;

}

if (isset($year)) {

return $year . '年前发布';

} elseif (isset($month)) {

return $month . '月前发布';

} elseif (isset($day)) {

return $day . '天前发布';

} elseif (isset($hour)) {

return $hour . '小时前发布';

} elseif (isset($minute)) {

return $minute . '分钟前发布';

}

}

//测试代码:

//$time1 = time() - 60 * 60 * 23;

//echo formatTime($time1, 1); //结果:23小时前

//echo "";

//$time2 = '2013-11-11 19:16:12'; //结果:29天前

//echo formatTime($time2, 2);

?>

在程序根目录的index.php

加入

include PHPCMS_PATH.'/time.php';

在显示时间的位置加入

时间调用代码{formatTime($r[inputtime],1)}

另外加两个代码function formatTime($date) {

$str = '';

$timer = strtotime($date);

$diff = $_SERVER['REQUEST_TIME'] - $timer;

$day = floor($diff / 86400);

$free = $diff % 86400;

if($day > 0) {

return $day."天前";

}else{

if($free>0){

$hour = floor($free / 3600);

$free = $free % 3600;

if($hour>0){

return $hour."小时前";

}else{

if($free>0){

$min = floor($free / 60);

$free = $free % 60;

if($min>0){

return $min."分钟前";

}else{

if($free>0){

return $free."秒前";

}else{

return '刚刚';

}

}

}else{

return '刚刚';

}

}

}else{

return '刚刚';

}

}

}/**

* 发布时间展示函数

* @return 返回发布时间

*/

function show_time($time) {

$rtime = date("m-d H:i",$time);

$htime = date("H:i",$time);

$time = time() - $time;

if ($time < 60) {

$str = $time.'秒前';

} elseif ($time < 3600) {

$min = floor($time/60);

$str = $min.'分钟前';

} elseif ($time < 86400) {

$h = floor($time/3600);

$str = $h.'小时前 '.$htime;

} elseif ($time < 172800) {

$d = floor($time/86400);

if($d==1)

$str = '昨天 '.$htime;

else

$str = '前天 '.$htime;

} else {

$str = $rtime;

}

return $str;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值