日期:2014-05-16 浏览次数:20537 次
/**? 
?* 获取某周、某月、上月、某季度的开始日期、结束日期及判断日期第几周? 
?*/? 
//格式化日期: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) {
???