<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
var date = new Date();
var month = date.getMonth();
var week = date.getDay();
var months = date.getMonth()+ 1;
var month = (date.getMonth()+1<10?'0'+(date.getMonth()+1):date.getMonth()+1);
var day = date.getDate();
var year = date.getFullYear();
var days = (date.getDate()<10?'0'+(date.getDate()):date.getDate());
function submits(){
controlDate(year,months,day,week)
};
function controlDate(year,months,day,week){
var weekArr = [{week:'',day:'',month:'',year:''},{week:'',day:'',month:'',year:''},{week:'',day:'',month:'',year:''},{week:'',day:'',month:'',year:''},{week:'',day:'',month:'',year:''},{week:'',day:'',month:'',year:''},{week:'',day:'',month:'',year:''}];//日期集合里面有星期几年月日
// 本周内今天的前几天的数量
var leftNum = week-1;//日期左
// 本周内今天的后几天的数量
var rightNum = 7-week;//日期右
// 本周内今天的前几天
var lastDay = lastDays(year,months);
var years = year;
if(months==1){
years= year-1;
}
var superiorLastDay = lastDays(years,months-1);//上个月最后一天
for(var i=0; i<leftNum; i++){
weekArr[i].week = week-(week-i)+1;
if(i==0){
weekArr[i].day = day-week;
weekArr[i].month = months;
weekArr[i].year = year;
if(weekArr[i].day>lastDay){
weekArr[i].month =months+1;
weekArr[i].day = weekArr[i].day-lastDay;
}
if(weekArr[i].day<1){
weekArr[i].month = months-1;
if(weekArr[i].month<1){
weekArr[i].month = 12;
weekArr[i].year = weekArr[i].year-1;
}
}
}else{
weekArr[i].day = day-(week-i)+1;
weekArr[i].month = months;
weekArr[i].year =year;
//如果Day超过当前月份最后一天则月份+1;
if(weekArr[i].day>lastDay){
weekArr[i].month = months+1;
if(weekArr[i].month>12){//如果月份超过12则等于1,年份加1
weekArr[i].month = 1;
weekArr[i].year = weekArr[i].year+1;
}
weekArr[i].day = weekArr[i].day-lastDay;
}
if(weekArr[i].day<1){
weekArr[i].month = months-1;
if(weekArr[i].month<1){
weekArr[i].month = 1;
weekArr[i].year = weekArr[i].year-1;
}
weekArr[i].day = weekArr[i].day+superiorLastDay;
}
}
};
// 本周内今天的后几天
for(var i=0; i<rightNum; i++){
weekArr[i+week].week = week+i+1;
weekArr[i+week].day = day+i+1;
weekArr[i+week].month = months;
weekArr[i+week].year = year;
if(weekArr[i+week].day>lastDay){
weekArr[i+week].month = months+1;
if(weekArr[i+week].month>12){//如果月份超过12则等于1,年份加1
weekArr[i+week].month = 1;
weekArr[i+week].year = weekArr[i].year+1;
}
weekArr[i+week].day = weekArr[i+week].day-lastDay;
}
if(weekArr[i+week].day<1){
weekArr[i+week].month = months-1;
if(weekArr[i+week].month<1){
weekArr[i+week].month = 1;
weekArr[i+week].year = weekArr[i+week].year-1;
}
weekArr[i+week].day = weekArr[i+week].day+superiorLastDay;
}
}
// 今天
weekArr[week-1].week = week;
weekArr[week-1].day = day;
weekArr[week-1].month = months;
weekArr[week-1].year = year;
};
//获得某月的最后一天
function lastDays(year,month) {
var new_year = year; //取当前的年份
var new_month = month++;//取下一个月的第一天,方便计算(最后一天不固定)
if(month>12) {
new_month -=12; //月份减
new_year++; //年份增
}
var new_date = new Date(new_year,new_month,1); //取当年当月中的第一天
return (new Date(new_date.getTime()-1000*60*60*24)).getDate();//获取当月最后一天日期
};
var getMonthWeeks = function(a,b,c){
var date = new Date(a,parseInt(b),c),
w = date.getDay(),
d = date.getDate()
if(w==0){
w=7;
}
var config= {
getWeek:Math.ceil((d+6-w)/7)
}
return config;
};
</script>
</head>
<body>
<button onclick="submits()">点我</button>
</body>
</html>
JS获得本周日期集合(所有日期都在weekArr里面)
最新推荐文章于 2024-06-11 18:04:16 发布