常用的js,字符截取,時間轉換

/**
 * 字符串長度截取
 * @param str
 * @param length  要截取的長度
 * @return
 */
function getSubString(str,length){
    var subStr ="";
    if(str.length > length){
    	subStr = str.substring(0,length)+"...";
      }else{
    	subStr= str;
    }
     return subStr;     
 }
/**
 * 控制文章的顯示,以中文爲基礎
 * s 待處理的字符串
 * l 截取的長度
 * d 是否出現“...”,默認出現
 */
function subStr(s,l,d){
	if(s == undefined){
		return "";
	}
	s=s.replaceAll(" ","|");
	l=l*2;
	var r = /[^\x00-\xff]/g;
	if(s.replace(r, "zz").length <= l){
		return s.replaceAll("\\|"," ");    	
	} 
	var m = Math.floor(l/2);
	for(var i=m; i<s.length; i++){
		if(s.substring(0, i).replace(r, "zz").length>=l) {
			var str=s.substring(0, i).replaceAll("\\|"," ");
			if(d==undefined){
				return  str+"...";
			}else{
				return str;
			}
		} 
	}
	return s.replaceAll("\\|"," ");
}
/**
 * jquery去除字符串中的html
 * 示例:
 * 	var a="<b>abc</b>";
 * 	$.removeHtml(a);
 * 結果:abc
 */
jQuery.removeHtml = function(s){
	return (s)? jQuery("<p>").append(s).text(): "";
}
/**
 * 替換html代碼的中的'<''>'等轉換
 * 使用:
 * $.escapeHtml("<b></b>");
 */
jQuery.escapeHtml=function(s){
	return (s)? jQuery("<p>").text(s).html(): "";
}
/**
 * 文本內容提交之前做處理
 * @param s
 * @return
 */
function contentSubmitBefore(s){
	return (s)?s.replaceAll("\r\n","<br>").replaceAll("\n","<br>").replaceAll("\r","<br>"):"";
}
/**
 * 文本顯示之前處理
 * @param s
 * @return
 */
function contentSubmitAfter(s){
	return (s)?s.replaceAll("<","<").replaceAll(">",">").replaceAll("<br>","<br/>").replaceAll("<br/>","<br/>"):"";
}
/**
 * 替換html標籤 
 * @param s
 * @return
 */
function htmlTagReplace(s){
	return (s)?s.replaceAll("<","<").replaceAll(">",">"):"";
}

/**
 * 將timestamp以 yy-mm-dd : mm:ss 格式返回
 * @param timestamp
 * @return
 */
function getDate(timestamp,type){
   var timeCreated = new Date(timestamp);
   if(type == undefined){
		//yy-mm-dd : hh:mm
var timeFormated = timeCreated.getFullYear() +"-" + (timeCreated.getMonth()+1) +"-"+timeCreated.getDate() +" " +timeCreated.getHours()+":" + timeCreated.getMinutes() ;
    return timeFormated;
    }if(type == 1){
//yy-mm-dd : hh:mm
var timeFormated = timeCreated.getFullYear() +"-" + (timeCreated.getMonth()+1) +"-"
		 +timeCreated.getDate() +" " +timeCreated.getHours()+":" + timeCreated.getMinutes() ;
}else if(type == 2){
		//yy-mm-dd : hh:mm:ss
		var timeFormated = timeCreated.getFullYear() +"-" +(timeCreated.getMonth()+1) +"-"
		 +timeCreated.getDate() +" " +timeCreated.getHours()+":" + timeCreated.getMinutes() 
		+":"+timeCreated.getSeconds();
}else if( type == 3){
		//yy-mm-dd
		var timeFormated = timeCreated.getFullYear() +"-" + (timeCreated.getMonth()+1) +"-"
		 +timeCreated.getDate();
}
return timeFormated;
}
/**
 * 計算傳入時間和當前時間差
 * @param d 時間 格式:2010-04-10 10:22:36
 * @return
 */
function getDateDiff(d,now){
	if(now==undefined){
		now=new Date().getTime();
	}else{
		now=Date.parse(now.replace(/-/g,'/').replace(/:/g,":"));
	}
	var diffValue = now - Date.parse(d.replace(/-/g,'/').replace(/:/g,":"));
	if(diffValue < 0){     
		return "剛剛";    
	}   
	var minute = 1000 * 60;  
	var hour = minute * 60;  
	var day = hour * 24; 
	var halfamonth = day * 15; 
	var month = day * 30; 
	var monthC =diffValue/month;   
	var weekC =diffValue/(7*day);   
	var dayC =diffValue/day;   
	var hourC =diffValue/hour;  
	var minC =diffValue/minute;       
	if(monthC>=1){    
		result=parseInt(monthC) + "個月前";    
	}else if(weekC>=1){
		result=parseInt(weekC) + "個星期前";    
	}else if(dayC>=1){    
		result= parseInt(dayC) +"天前";    
	}else if(hourC>=1){    
		result= parseInt(hourC) +"個小時前";   
	}else if(minC>=1){    
		result= parseInt(minC) +"分鐘前";    
	}else{
		result="剛剛";    
	} 
	return result;  
}
/**  
 *轉換日期對象爲日期字符串  
 * @param date 日期對象  
 * @param isFull 是否爲完整的日期數據,  
 *               爲true時, 格式如"2000-03-05 01:05:04"  
 *               爲false時, 格式如 "2000-03-05"  
 * @return 符合要求的日期字符串  
 */  
function getSmpFormatDate(date,isFull){   
    var pattern = "";   
    if (isFull==true||isFull==undefined) {   
        pattern = "yyyy-MM-dd hh:mm:ss";   
    } else {   
        pattern = "yyyy-MM-dd";   
    }   
    return getFormatDate(date,pattern);   
} 
/**  
 *轉換當前日期對象爲日期字符串  
 * @param date 日期對象  
 * @param isFull 是否爲完整的日期數據,  
 *               爲true時, 格式如"2000-03-05 01:05:04"  
 *               爲false時, 格式如 "2000-03-05"  
 * @return 符合要求的日期字符串  
 */  
function getSmpFormatNowDate(isFull){   
    return getSmpFormatDate(new Date(),isFull);   
}
/**  
 *轉換long值爲日期字符串  
 * @param l long值  
 * @param isFull 是否爲完整的日期數據,  
 *               爲true時, 格式如"2000-03-05 01:05:04"  
 *               爲false時, 格式如 "2000-03-05"  
 * @return 符合要求的日期字符串  
 */  
function getSmpFormatDateByLong(l,isFull){   
    return getSmpFormatDate(new Date(l),isFull);   
}  
/**  
 *轉換long值爲日期字符串  
 * @param l long值  
 * @param pattern 格式字符串,例如:yyyy-MM-dd hh:mm:ss  
 * @return 符合要求的日期字符串  
 */  
function getFormatDateByLong(l,pattern){   
    return getFormatDate(new Date(l),pattern);   
}
/**  
 *轉換日期對象爲日期字符串  
 * @param l long值  
 * @param pattern 格式字符串,例如:yyyy-MM-dd hh:mm:ss  
 * @return 符合要求的日期字符串  
 */  
function getFormatDate(date,pattern){   
    if(date==undefined){   
        date=new Date();   
    }   
    if(pattern==undefined){   
        pattern="yyyy-MM-dd hh:mm:ss";   
    }   
    return date.format(pattern);   
} 
/**
 * 計算還可以輸入的字數
 * max 最大字數
 * fun 回調方法
 * type 如果type不傳遞以英文爲基礎,type=1則以中文爲基礎
 * 調用如下:
 *  $('input').woyoObserver(100,function(num,val){
		$('#result1').text('數量: '+ num);
		$('#result2').text('內容: '+ val);
	});
 */
jQuery.fn.woyoObserver=function(max,fun,type){
	$(this).delayedObserver(function(){
		 var _this=$(this);
		 if(type==1){
			var _r = /[^\x00-\xff]/g;
			var _s=$.trim(_this.val());
			var _m=_s.replace(_r, "zz").length;
			fun(max-Math.floor(_m/2),_this.val(),this);
		 }else{
			fun(max-$.trim(_this.val()).length,_this.val(),this);
		 }
	},0.0001);
}
/**
 * 獲取星期
 * @param date 時間戳
 * @return
 */
function getDayOfWeek(date){
    var today = new Array("週日","週一","週二","週三","週四","週五","週六");
    return today[new Date(date).getDay()];
}
/**
 * 格式化開始時間和接受時間,例如: 跨天:7月1日 週四 09:00- 7月30日 週五 17:00 不跨天: 7月30日 週五 21:00 - 23:55
 * @param start 開始時間戳
 * @param end 結束時間戳
 * @return
 */
function formatStartEndDate(start,end){
	if(end<start){return "時間錯誤";}
	var c=end-start;
	var minute = 1000 * 60;  
	var hour = minute * 60;  
	var day = hour * 24; 
	if(parseInt(c/day)<=0){
		var d=new Date(start).format("MM月dd日");
		var week=getDayOfWeek(start);
		var t1=new Date(start).format("hh:mm");
		var t2=new Date(end).format("hh:mm");
		return d+" "+week;
	}else{
		var d1=new Date(start).format("MM月dd日");
		var d2=new Date(end).format("MM月dd日");
		var w1=getDayOfWeek(start);
		var w2=getDayOfWeek(end);
		var t1=new Date(start).format("hh:mm");
		var t2=new Date(end).format("hh:mm");
		return d1+" "+w1+" - "+d2+" "+w2;
	}
}
補struts中的標籤顯示時間的
<s:property value="gmtCreatedString.substring(0,16)"/>,從哪裏開始顯示

發佈了111 篇原創文章 · 獲贊 20 · 訪問量 53萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章