当前位置: 代码迷 >> JavaScript >> javascript对时间的一段处置
  详细解决方案

javascript对时间的一段处置

热度:120   发布时间:2012-09-17 12:06:51.0
javascript对时间的一段处理
Date.prototype.format = function(fmt) {
	var o = {   
		"M+" : this.getMonth()+1, //月份   
		"d+" : this.getDate(), //日   
		"h+" : this.getHours(), //小时   
		"m+" : this.getMinutes(), //分   
		"s+" : this.getSeconds(), //秒   
		"q+" : Math.floor((this.getMonth()+3)/3), //季度   
		"S" : this.getMilliseconds() //毫秒   
	};   
	if(/(y+)/.test(fmt))   
		fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));   
	for(var k in o)   
		if(new RegExp("("+ k +")").test(fmt))   
			fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));   
	return fmt;  
};


jquery替换时间显示
(function($){
	$.fn.autoCompleteTime = function (separator) {
		var second = 1000;
	    var minutes = second*60;
	    var hours = minutes*60;
	    var days = hours*24;
		$(this).each(function(i){
			var $obj = $(this);
			var postdate = $obj.attr("md");
		    var myDate = new Date(Date.parse(postdate));
		    if (isNaN(myDate)){   
		        myDate =new Date(postdate.replace(/-/g, "/"));   
		    } 
		    var _hours=myDate.getHours()
	 		var _minutes=myDate.getMinutes()>9?myDate.getMinutes().toString():'0' + myDate.getMinutes()
		    var nowtime = new Date();
		    var longtime =nowtime.getTime()- myDate.getTime();
		    var showtime = 0;
		    var str="";
		    if (longtime > days){
		        str = separator==1?'('+myDate.format("MM-dd hh:mm")+')':myDate.format("MM-dd hh:mm");    
		    }else if (longtime > hours){
		    	if(nowtime.getHours() < _hours)
		    		str = separator==1?'('+myDate.format("MM-dd hh:mm")+')':myDate.format("MM-dd hh:mm");
		    	else
		    		str = separator==1?'('+(Lang['common_today']+(_hours+":"+_minutes))+')':(Lang['common_today']+(_hours+":"+_minutes));
		    }else if (longtime > minutes){
		    	str = separator==1?'('+(Math.floor(longtime/minutes)+Lang["common_minute"])+')':(Math.floor(longtime/minutes)+Lang["common_minute"]);
		    }else if (longtime > second){
		    	str = separator==1?'('+(Math.floor(longtime/second)+Lang["common_second"])+')':(Math.floor(longtime/second)+Lang["common_second"]);
		    }else{
		    	str = separator==1?'('+(1+Lang["common_second"])+')':(1+Lang["common_second"]);
		    	//$obj.html(longtime+" error ");
		    }
		    $obj.html(str);
		});
	}
})(jQuery);
  相关解决方案