// JavaScript Document //获取相差天数 function getDays(strDateStart,strDateEnd){ var strSeparator = "-"; //日期分隔符 var oDate1; var oDate2; var iDays; oDate1= strDateStart.split(strSeparator); oDate2= strDateEnd.split(strSeparator); var strDateS = new Date(oDate1[0], oDate1[1]-1, oDate1[2]); var strDateE = new Date(oDate2[0], oDate2[1]-1, oDate2[2]); iDays = parseInt(Math.abs(strDateS - strDateE ) / 1000 / 60 / 60 /24)//把相差的毫秒数转换为天数 return iDays ; } //扩展Date的format方法 Date.prototype.format = function (format) { 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(format)) { format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); } for (var k in o) { if (new RegExp("(" + k + ")").test(format)) { format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); } } return format; } /** *转换日期对象为日期字符串 * @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); } function DateAdd(interval, number, date) { /* * 功能:实现VBScript的DateAdd功能. * 参数:interval,字符串表达式,表示要添加的时间间隔. * 参数:number,数值表达式,表示要添加的时间间隔的个数. * 参数:date,时间对象. * 返回:新的时间对象. * var now = new Date(); * var newDate = DateAdd( "d ",5,now); *--------------- DateAdd(interval,number,date) ----------------- */ switch (interval) { case "y ": { date.setFullYear(date.getFullYear() + parseInt(number)); return date; break; } case "q ": { date.setMonth(date.getMonth() + parseInt(number) * 3); return date; break; } case "m ": { date.setMonth(date.getMonth() + parseInt(number)); return date; break; } case "w ": { date.setDate(date.getDate() + parseInt(number) * 7); return date; break; } case "d ": { date.setDate(date.getDate() + parseInt(number)); return date; break; } case "h ": { date.setHours(date.getHours() + parseInt(number)); return date; break; } case "m ": { date.setMinutes(date.getMinutes() + parseInt(number)); return date; break; } case "s ": { date.setSeconds(date.getSeconds() + parseInt(number)); return date; break; } default: { date.setDate(d.getDate() + parseInt(number)); return date; break; } } }