php获取时间间隔的方法总结,php显示论坛发帖时间间隔方法大全

 
更多

有没有在论坛或者发表回复帖子的地方看到比较有意思的显示留言的方式,比如某某多少分钟前发表了什么什么,某某刚刚回复了帖子等。这是一种比较有趣的显示方式。下面本人也总结了两个个性的显示多少分钟前,多少小时前,多少天前回复或者发表了什么什么的方法。现分享代码如下:

<?php
//获取时间间隔
function transDate($timestamp){
	$curTime=time();
	$space=$curTime-$timestamp;
	if($space<60){
		$string='刚刚';
		return $string;
	}elseif($space<3600){
		$string=floor($space/60).'分钟前';
		return $string;
	}
	$curtimeArray=getdate($curTime);
	$timeArray=getDate($timestamp);
	if($curtimeArray['year']==$timeArray['year']){
		if($curtimeArray['yday']==$timeArray['yday']){
			$format='%H:%M';
			$string=strftime($format,$timestamp);
			return '今天';
		}elseif(($curtimeArray['yday']-1)==$timeArray['yday']){
			$format='%H:%M';
			$string=strftime($format,$timestamp);
			return '昨天';
		}else{
			$string=sprintf('%d月%d日',$timeArray['mon'],$timeArray['mday']);
			return $string;
		}
	}
	$string=sprintf('%d年%d月%d日',$timeArray['year'],$timeArray['mon'],$timeArray['mday']);  
	return $string;
}

另外一种获取时间间隔的方法:

<?php
//php 获取时间间隔
function time_tran($timeInt,$format='Y-m-d H:i:s'){
	$d=time()-$timeInt;
	if($d<0){
		return $timeInt;
	}else{
		if($d<60){
			return $d.'秒前';
		}else{
			if($d<3600){
				return floor($d/60).'分钟前';
			}else{
				if($d<86400){
					return floor($d/3600).'小时前';
				}else{
					if($d<259200){//3天内
						return floor($d/86400).'天前';
					}else{
						return date($format,$timeInt);
					}
				}
			}
		}
	}
}

以上函数的使用方法如下:

<?php
header('Content-type:text/html;charset=utf-8');
$d=time()-10;
echo transDate($d);//显示结果将为:刚刚
echo '<br />';
echo time_tran($d);//显示结果将为:10秒前
打赏

本文固定链接: https://www.cxy163.net/archives/4144 | 绝缘体

该日志由 绝缘体.. 于 2013年05月23日 发表在 未分类 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: php获取时间间隔的方法总结,php显示论坛发帖时间间隔方法大全 | 绝缘体
关键字: , , , ,

php获取时间间隔的方法总结,php显示论坛发帖时间间隔方法大全:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter