function unixtime(thedate){
	var str=/^(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+)?/.exec(thedate);
	if(str==null){
		return thedate;
	}else{
		var time = new Date(str[1],str[2]-1,str[3],str[4],str[5],str[6]);
		return Date.parse(time)/1000;
	}
}

function format_date(timestamp)
{
	var minute = 60;
	var hour   = 3600;
	var day    = 86400;
	var week   = 604800;//7 days
	var month  = 2592000;//30 days
	var year   = 8640000;//100 days
	var time   = parseInt(timestamp);
	
	//设置参照时间，为空则于当前时间比照
	var now = new Date();
	var friendly_time = now.toLocaleString();//定义返回格式
	var refer = parseInt(Date.parse(now)/1000);
	var auto = refer - time;
	var key  = auto >= 0 ? "前" : "后";
	auto = Math.abs(auto) ; 
	
	if(auto<hour){
		friendly_time = Math.floor(auto/minute)+"分钟"+key;
	}else 
		if(hour<=auto && auto<day){
			friendly_time = Math.floor(auto/hour)+"小时"+key;
		}else
			if(day<=auto && auto<week){
				friendly_time = Math.floor(auto/day)+"天"+key;
			}else
				if(week<=auto && auto<month){
					friendly_time = Math.floor(auto/week)+"周"+key;					
				}else
					if(month<=auto && auto<year){
						friendly_time = Math.floor(auto/month)+"个月"+key;
					}else{
						friendly_time = myDate(timestamp);
					}
					
	return friendly_time;
}

function myDate(timestamp) {
	var time = timestamp*1000;
	 d = new Date(time); 
	 var jstimestamp = (d.getFullYear())+"-"+(d.getMonth()+1)+"-"+(d.getDate())+" "+(d.getHours())+":"+(d.getMinutes())+":"+(d.getSeconds()); 
	 return jstimestamp; 
}

function friendly_time(timestr)
{
	var mytime = unixtime(timestr);
	return format_date(mytime);
}