/**
* 字符串長度截取
* @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)"/>,從哪裏開始顯示
常用的js,字符截取,時間轉換
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.