js获取某周某月下月某季度的开始日期结束日期及判断日期第几周
Posted 念雷星
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js获取某周某月下月某季度的开始日期结束日期及判断日期第几周相关的知识,希望对你有一定的参考价值。
/** * 获取某周、某月、上月、某季度的开始日期、结束日期及判断日期第几周 */ //格式化日期:yyyy-MM-dd function 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(paraYear,paraMonth){ var monthStartDate = new Date(paraYear, paraMonth, 1); var monthEndDate = new Date(paraYear, paraMonth + 1, 1); var days = (monthEndDate - monthStartDate)/(1000 * 60 * 60 * 24); return days; } //获得某周的开始日期 function getWeekStartDate(paraYear,paraMonth,paraDay,paraDayOfWeek) { var weekStartDate = new Date(paraYear, paraMonth, paraDay + 1 - paraDayOfWeek); return formatDate(weekStartDate); } //获得某周的结束日期 function getWeekEndDate(paraYear,paraMonth,paraDay,paraDayOfWeek) { var weekEndDate = new Date(paraYear, paraMonth, paraDay + (7 - paraDayOfWeek)); return formatDate(weekEndDate); } //获得某月的开始日期 function getMonthStartDate(paraYear,paraMonth){ var monthStartDate = new Date(paraYear, paraMonth, 1); return formatDate(monthStartDate); } //获得某月的结束日期 function getMonthEndDate(paraYear,paraMonth){ var monthEndDate = new Date(paraYear,paraMonth, getMonthDays(paraYear,paraMonth)); return formatDate(monthEndDate); } //获得上月开始时间 function getLastMonthStartDate(paraYear, lastMonth){ var lastMonthStartDate = new Date(paraYear, lastMonth, 1); return formatDate(lastMonthStartDate); } //获得上月结束时间 function getLastMonthEndDate(paraYear, lastMonth, lastMonth){ var lastMonthEndDate = new Date(paraYear, lastMonth, getMonthDays(lastMonth)); return formatDate(lastMonthEndDate); } //获得某季度的开始日期 function getQuarterStartDate(paraYear,paraSeason){ switch (paraSeason){ case ‘1‘ : return paraYear+"-01-01"; case ‘2‘ : return paraYear+"-04-01"; case ‘3‘ : return paraYear+"-07-01"; case ‘4‘ : return paraYear+"-10-01"; } } //获得某季度的结束日期 function getQuarterEndDate(paraYear,paraSeason){ switch (paraSeason){ case ‘1‘ : return paraYear+"-03-31"; case ‘2‘ : return paraYear+"-06-30"; case ‘3‘ : return paraYear+"-09-30"; case ‘4‘ : return paraYear+"-12-31"; } } //获取某年某周的开始日期 function getBeginDateOfWeek(paraYear, weekIndex){ var firstDay = GetFirstWeekBegDay(paraYear); //7*24*3600000 是一星期的时间毫秒数,(JS中的日期精确到毫秒) var time=(weekIndex-1)*7*24*3600000; var beginDay = firstDay; //为日期对象 date 重新设置成时间 time beginDay.setTime(firstDay.valueOf()+time); return formatDate(beginDay); } //获取某年某周的结束日期 function getEndDateOfWeek(paraYear, weekIndex){ var firstDay = GetFirstWeekBegDay(paraYear); //7*24*3600000 是一星期的时间毫秒数,(JS中的日期精确到毫秒) var time=(weekIndex-1)*7*24*3600000; var weekTime = 6*24*3600000; var endDay = firstDay; //为日期对象 date 重新设置成时间 time endDay.setTime(firstDay.valueOf()+weekTime+time); return formatDate(endDay); } //获取日期为某年的第几周 function GetWeekIndex(dateobj) { var firstDay = GetFirstWeekBegDay(dateobj.getFullYear()); if (dateobj < firstDay) { firstDay = GetFirstWeekBegDay(dateobj.getFullYear() - 1); } d = Math.floor((dateobj.valueOf() - firstDay.valueOf()) / 86400000); return Math.floor(d / 7) + 1; } //获取某年的第一天 function GetFirstWeekBegDay(year) { var tempdate = new Date(year, 0, 1); var temp = tempdate.getDay(); if (temp == 1){ return tempdate; } temp = temp == 0 7 : temp; tempdate = tempdate.setDate(tempdate.getDate() + (8 - temp)); return new Date(tempdate); }
以上是关于js获取某周某月下月某季度的开始日期结束日期及判断日期第几周的主要内容,如果未能解决你的问题,请参考以下文章