/**
	把普通格式的时间转换为Web2.0格式的时间
	如"2006-12-14 21:40:41"转换为"3小时15分前"
	这个实现需要jQuery框架的支持
	自动搜索整个页面内classs为web2time的标签，把标签内的时间进行转换。
*/
//	一秒			= 1000 ms
var _second_ms	= 1000;
//	一分			= 60000 ms
var _minute_ms	= 60000;
//	一小时		= 3600000 ms
var _hour_ms	= 3600000;
//	一天			= 3600000*24 ms
var _day_ms		= 3600000*24;
//	两天			= 3600000*24*2;
var _2day_ms	= _day_ms*2;
//	三天			= 3600000*24*3;
var _3day_ms	= _day_ms*3;
function web2time(nowTime){
	$(".web2time").each(function(i){
		var sourceStr=$(this).html();
		var resultStr=sourceStr;
		if(sourceStr.match(/(\d{4})-(\d{2})-(\d{2})\s(\d{2}):(\d{2}):(\d{2})/)==null){
			return;
		}
		var clientTime=new Date(RegExp.$1,RegExp.$2-1,RegExp.$3,RegExp.$4,RegExp.$5,RegExp.$6);
		var fromNowMilliseconds=nowTime.getTime()-clientTime.getTime();
		if(fromNowMilliseconds<0){
			//alert(nowTime+" = "+nowTime.getTime()+"\n"+clientTime+" = "+clientTime.getTime());
			return;
		}
		var yearRange=nowTime.getYear()-clientTime.getYear();
		var monthRange=nowTime.getMonth()-clientTime.getMonth();
		var dateRange=nowTime.getDate()-clientTime.getDate();
		if(yearRange==1){
			resultStr="去年"+(clientTime.getMonth()+1)+"月";
		}else if(yearRange>1){
			//在FireFox下getYear()得到正常的年份，所以用substring()实现。
			resultStr=sourceStr.substring(0,4)+"年"+(clientTime.getMonth()+1)+"月";
		}else if(monthRange==1){
			resultStr="上个月"+clientTime.getDate()+"日";
		}else if(monthRange>1){
			resultStr=(monthRange-1)+"个月前";
		}else if(dateRange==0){
			//1分钟以内
			if(fromNowMilliseconds<_minute_ms){
				resultStr=parseInt(fromNowMilliseconds/_second_ms)+"秒钟前";
			}
			//1小时以内
			else if(fromNowMilliseconds<_hour_ms){
				resultStr=parseInt(fromNowMilliseconds/_minute_ms)+"分钟前";
			}
			//一天以内
			else if(fromNowMilliseconds<_day_ms){
				resultStr=parseInt(fromNowMilliseconds/_hour_ms)+"小时前";
			}
		}else if(dateRange==1){
			resultStr="昨天"+clientTime.getHours()+"点";
		}else if(dateRange==2){
			resultStr="前天"+clientTime.getHours()+"点";
		}else if(dateRange>2){
			resultStr=(dateRange-1)+"天前";
		}
		$(this).attr("title",sourceStr).html(resultStr);
	});
}
$(function(){
	web2time(nowTime);
});

