js 获取 本周、上周、本月、上月、本季度、上季度的开始结束日期
/** * 获取本周、本季度、本月、上月的开始日期、结束日期 */var now = new Date(); //当前日期var nowDayOfWeek = now.getDay(); //今天本周的第几天var nowDay = now.getDate(); //当前日var nowMonth = now.getMonth(); //当前月var nowYear = now.getYear(); //当前年nowYear += (nowYear < 2000) ? 1900 : 0; //var lastMonthDate = new Date(); //上月日期lastMonthDate.setDate(1);lastMonthDate.setMonth(lastMonthDate.getMonth() - 1);var lastYear = lastMonthDate.getYear();var lastMonth = lastMonthDate.getMonth();//格式化日期:yyyy-MM-ddfunction formatDate(date) {var myyear = date.getFullYear();var mymonth = date.getMonth() + 1;var myweekday = date.getDate();if (mymonth < 10) {mymonth = "0" + mymonth;}if (myweekday < 10) {myweekday = "0" + myweekday;}return (myyear + "-" + mymonth + "-" + myweekday);}//获得某月的天数function getMonthDays(myMonth) {var monthStartDate = new Date(nowYear, myMonth, 1);var monthEndDate = new Date(nowYear, myMonth + 1, 1);var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24);return days;}//获得本季度的开始月份function getQuarterStartMonth() {var quarterStartMonth = 0;if (nowMonth < 3) {quarterStartMonth = 0;}if (2 < nowMonth && nowMonth < 6) {quarterStartMonth = 3;}if (5 < nowMonth && nowMonth < 9) {quarterStartMonth = 6;}if (nowMonth > 8) {quarterStartMonth = 9;}return quarterStartMonth;}//获得本周的开始日期function getWeekStartDate() {var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);return formatDate(weekStartDate);}//获得本周的结束日期function getWeekEndDate() {var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek));return formatDate(weekEndDate);}//获得上周的开始日期function getLastWeekStartDate() {var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 7);return formatDate(weekStartDate);}//获得上周的结束日期function getLastWeekEndDate() {var weekEndDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 1);return formatDate(weekEndDate);}//获得本月的开始日期function getMonthStartDate() {var monthStartDate = new Date(nowYear, nowMonth, 1);return formatDate(monthStartDate);}//获得本月的结束日期function getMonthEndDate() {var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));return formatDate(monthEndDate);}//获得上月开始时间function getLastMonthStartDate() {var lastMonthStartDate = new Date(nowYear, lastMonth, 1);return formatDate(lastMonthStartDate);}//获得上月结束时间function getLastMonthEndDate() {var lastMonthEndDate = new Date(nowYear, lastMonth, getMonthDays(lastMonth));return formatDate(lastMonthEndDate);}//获得本季度的开始日期function getQuarterStartDate() {var quarterStartDate = new Date(nowYear, getQuarterStartMonth(), 1);return formatDate(quarterStartDate);}//或的本季度的结束日期function getQuarterEndDate() {var quarterEndMonth = getQuarterStartMonth() + 2;var quarterStartDate = new Date(nowYear, quarterEndMonth,getMonthDays(quarterEndMonth));return formatDate(quarterStartDate);}