/**
* 获取某周、某月、上月、某季度的开始日期、结束日期及判断日期第几周
*/
//格式化日期: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;
}
var DateStr="";
function GetDateCN(Datevalue) {
var month = ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"];
for(var i = 0; i <= month.length; i++) {
if (i==Datevalue) {
DateStr=month[i];
}
}
return DateStr;
}
//获得某周的开始日期
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);
}
获取某周、某月、上月、某季度的开始日期、结束日期及判断日期第几周(注意:月份从零开始)
最新推荐文章于 2020-10-24 15:21:02 发布