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())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);}}mysql:

DELIMITER //CREATE FUNCTION friendlyDate(sTime char(11))RETURNS char(11)BEGINif 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 ;