<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function Calendar(x, y) {
var date = new Date();
let monthList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
let Year = x || date.getFullYear();
let month = y || monthList[date.getMonth()]
console.log(Year, month)
// x年x月0号进行获取getDate()时候会返回本月最后一天是几号也就代表有多少天
let days = new Date(Year, month, 0).getDate();
// 循环创建本月的信息
let list = []
for (let i = 1; i <= days; i++) {
list.push({
name: `${Year}-${month}-${i}-${oneDay(Year, month, i).name}`,
age: oneDay(Year, month, i).age
})
}
// 判断前方有多少空缺
let Ago = []
for (let i = 0; i < list[0].age - 1; i++) {
Ago.push({
name: '',
age: ''
})
}
// 判断后方有多少空缺
let After = [];
for (let i = 0; i < (7 - list[list.length - 1].age); i++) {
After.push({
name: '',
age: ''
})
}
// 数据合并
list = [...Ago, ...list, ...After]
// 数据拆分为多维数组
var newArr = [];
for (var i = 0; i < list.length; i += 7) {
newArr.push(list.slice(i, i + 7));
}
return newArr;
// 获取某一天星期几 年 月 日
function oneDay(y, m, d) {
var myDate = new Date();
myDate.setFullYear(y, m - 1, d);
var week = myDate.getDay()
switch (week) {
case 0:
return {
age: '7',
name: '星期日'
};
case 1:
return {
age: '1',
name: '星期一'
};
case 2:
return {
age: '2',
name: '星期二'
};
case 3:
return {
age: '3',
name: '星期三'
};
case 4:
return {
age: '4',
name: '星期四'
};
case 5:
return {
age: '5',
name: '星期五'
};
case 6:
return {
age: '6',
name: '星期六'
};
}
}
}
console.log(Calendar(2021, 2))
</script>
</body>
</html>
日历数据
最新推荐文章于 2023-01-29 16:51:50 发布