function getWeek() {
this.nowTime = new Date();
this.init = function() {
this.dayInWeek = this.nowTime.getDay();
this.dayInWeek == 0 && (this.dayInWeek = 7);
this.thsiWeekFirstDay = this.nowTime.getTime() - (this.dayInWeek - 1) * 86400000;
this.thisWeekLastDay = this.nowTime.getTime() + (7 - this.dayInWeek) * 86400000;
return this;
};
this.getWeekType = function(type) {
type = ~~type;
var firstDay = this.thsiWeekFirstDay + type * 7 * 86400000;
var lastDay = this.thisWeekLastDay + type * 7 * 86400000;
return this.getWeekHtml(firstDay, lastDay);
}
this.formateDate = function(time) {
var newTime = new Date(time)
var year = newTime.getFullYear();
var month = newTime.getMonth() + 1;
var day = newTime.getDate();
return year + "-" + (month >= 10 ? month : "0" + month) + "-" + (day >= 10 ? day : "0" + day);
};
this.getWeekHtml = function(f, l) {
return this.formateDate(f) + "至" + this.formateDate(l);
};
}
var getWeek = new getWeek();
var week = getWeek.init().getWeekType();
console.log(week);
getWeekType()这个方法如果不传参数 或者传入0,返回的是本周的日期范围,如果要下周的范围则传入1,上周的传入-1;
注:这个是从周一开始算一周的开始,周日为结束。