/** * 比较两个日期的天数差(自定义) * @param {DateOne} 日期一 * @param {DateOne} 日期二 * @type int * @returns 比较结果 */ function daysDiff(DateOne,DateTwo) { var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ("-")); var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ("-")+1); var OneYear = DateOne.substring(0,DateOne.indexOf ("-"));
var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ("-")); var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ("-")+1); var TwoYear = DateTwo.substring(0,DateTwo.indexOf ("-"));
var cha=((Date.parse(OneMonth+"/"+OneDay+"/"+OneYear)- Date.parse(TwoMonth+"/"+TwoDay+"/"+TwoYear))/86400000); return Math.abs(cha); }
/** * 日期计算(自定义) * @param {strInterval} 日期类型:"y、m、d、h、n、s、w" * @param {Number} 数量 * @param {prmDate} 原日期 * @type Date * @returns 计算后的日期 */ function dateAdd(interval,number,prmDate){ number = parseInt(number); if (typeof(prmDate)=="string"){ prmDate = prmDate.split(/D/); --prmDate[1]; eval("var prmDate = new Date("+prmDate.join(",")+")"); } if (typeof(prmDate)=="object"){ var prmDate = prmDate } switch(interval){ case "y": prmDate.setFullYear(prmDate.getFullYear()+number); break; case "m": prmDate.setMonth(prmDate.getMonth()+number); break; case "d": prmDate.setDate(prmDate.getDate()+number); break; case "w": prmDate.setDate(prmDate.getDate()+7*number); break; case "h": prmDate.setHours(prmDate.getHour()+number); break; case "n": prmDate.setMinutes(prmDate.getMinutes()+number); break; case "s": prmDate.setSeconds(prmDate.getSeconds()+number); break; case "l": prmDate.setMilliseconds(prmDate.getMilliseconds()+number); break; } return prmDate; }
/** * 获取字符串长度(原型扩展或重载) * @type int * @returns 字符串长度 */ String.prototype.len = function() { var arr=this.match(/[^x00-xff]/ig); return this.length+(arr==null?0:arr.length); }
/** * 字符串左取指定个数的字符(原型扩展或重载) * @param {num} 获取个数 * @type string * @returns 匹配的字符串 */ String.prototype.left = function(num,mode) { if(!/d+/.test(num)) return(this); var str = this.substr(0,num); if(!mode) return str; var n = str.len() - str.length; num = num - parseInt(n/2); return this.substr(0,num); }
/** * 字符串右取指定个数的字符(原型扩展或重载) * @param {num} 获取个数 * @type string * @returns 匹配的字符串 */ String.prototype.right = function(num,mode) { if(!/d+/.test(num)) return(this); var str = this.substr(this.length-num); if(!mode) return str; var n = str.len() - str.length; num = num - parseInt(n/2); return this.substr(this.length-num); }