1. javascript:
/*
 @desc:时间友好显示函数
 @param stamp 时间缀,10位长度
 */
function timefriend(stamp){
	this.stamp = stamp
	/*
	 @desc:主方法,执行转换
	 */
	this.get = function(){
		var stamp = this.stamp
		if(!stamp){
			return '—';
		}
		var date = new Date(stamp*1000)
		var time = Math.round(new Date().getTime()/1000)
		diff = time - stamp
		if(diff<0){
			return '—';
		}else if(diff<60){
			return diff+'秒前'
		}else if(diff<3600){
			return Math.floor(diff/60)+'分钟前'
		}else if(diff<86400){
			return Math.floor(diff/3600)+'小时前'
		}else if(diff<259200){
			return Math.floor(diff/86400)+'天前'
		}else{
			var year = this.parsetime(date.getFullYear())
			var month = this.parsetime(date.getMonth())
			var day = this.parsetime(date.getDate())
			var hour = this.parsetime(date.getHours())
			var minute = this.parsetime(date.getMinutes())
			var second = this.parsetime(date.getSeconds())
			var ret = year+'-'+month+'-'+day+' '+hour+':'+minute+':'+second
			return ret
		}
	}
	this.parsetime = function(input){
	    var ret
	    if(input >= 0 && input < 10){
	        ret = '0'+input
	    }else{
	        ret = input
	    }
	    return ret
	}
}
var timefriend = new timefriend('1428593779')
console.log(timefriend.get())
  1. php:
/*
 @desc:显示某一个时间相当于当前时间在多少秒前,多少分钟前,多少小时前
 @param  stamp   	时间戳
 @param  format 	时间显示格式,默认Y-m-d H:i:s
 @return 如 		5秒前
 */
function timefriend($stamp,$format = 'Y-m-d H:i:s'){
	if(empty($stamp)||!is_numeric($stamp)||!$stamp){
		return '—';
	}
	$diff = time() - $stamp;
	if($diff<0){
		return '—';
	}elseif($diff<60){
		return $diff.'秒前';
	}elseif($diff<3600){
		return floor($diff/60).'分钟前';
	}elseif($diff<86400){
		return floor($diff/3600).'小时前';
	}elseif($diff<259200){
		return floor($diff/86400).'天前';
	}else{
		return date($format,$stamp);
	}
}
  1. mysql:
DELIMITER //
CREATE FUNCTION friendlyDate(sTime char(11))
RETURNS char(11)
BEGIN
	if sTime='' then
		return '-';
	end if;
	set @cTime=UNIX_TIMESTAMP();
	set @dTime=@cTime-sTime;
	set @dDay=DATE_FORMAT(@cTime,'%e')-DATE_FORMAT(@sTime,'%e');
	set @dYear=DATE_FORMAT(@cTime,'%Y')-DATE_FORMAT(@sTime,'%Y');
	if @dTime>0 then
		if @dTime<60 then
			if @dTime<10 then
				return '刚刚';
			else
				set @t=floor(@dTime/10)*10;
				set @ret=concat(@t,'秒前');
				return @ret;
			end if;
		elseif @dTime<3600 then
			set @t=@dTime/60;
			set @ret=concat(@t,'分钟前');
			return @ret;
		elseif @dYear=0 && @dDay=0 then
			set @t=DATE_FORMAT(@sTime,'%H:%i');
			set @ret=concat('今天',@t);
			return @ret;
		elseif @dYear=0 then
			return DATE_FORMAT(@sTime,'%m月%d日 %H:%i');
		else
			return DATE_FORMAT(@sTime,'%Y-%m-%d %H:%i:%s');
		end if;
	else
		return DATE_FORMAT(@sTime,'%Y年%m月%d日 %H:%i');
	end if;
END
//
DELIMITER ;