Date.getFirstDay = function(date){ return new Date(date.getFullYear(),date.getMonth(),1); }; Date.isSameDay = function(d1, d2){ return d1 && d2 && (d1.getFullYear() === d2.getFullYear()) && (d1.getMonth() === d2.getMonth()) && (d1.getDate() === d2.getDate()); } Date.prototype.isSameDay = function(date) { return Date.isSameDay(this,date); }; Date.prototype.yestDay = function(){ this.setDate(this.getDate()-1); var d = this.toLocaleDateString(); var YY = this.getFullYear(), MM = this.getMonth() + 1, DD = this.getDate(); if (MM < 10) MM = "0" + MM; if (DD < 10) DD = "0" + DD; return YY + "-" + MM + "-" + DD } Date.prototype.Format = function (fmt) { //author: meizz 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; } Date.prototype.rangeDate = function(endDate){ var dates = []; dates.push(this.Format("yyyy-MM-dd")); if(!this.isSameDay(endDate)){ this.setDate(this.getDate()+1); while(!this.isSameDay(endDate)){ dates.push(this.Format("yyyy-MM-dd")); this.setDate(this.getDate()+1); } dates.push(endDate.Format("yyyy-MM-dd")); } return dates; } function rangeDate(sDate,eDate){ return new Date(sDate).rangeDate(new Date(eDate)); } function diffDate(sDate,eDate){ return (new Date(eDate) - new Date(sDate))/(24*3600*1000) + 1; } function addDate(date,days){ var d = new Date(date); d.setDate(d.getDate()+days); return d.Format("yyyy-MM-dd"); } function getNowWeek(){ var today = Date.today(); var firstDay = new Date(today.getFullYear(), 0, 1),fw = firstDay.getDay(); var endDay = firstDay.clone(),n = 0; if( fw > 0){ endDay = endDay.addDays(8-fw); n = 1; } var days = diffDate(endDay , today); return Math.ceil(days/7) + n; }