生成日期序列
2022年12月12日
生成日期序列
let startYear = 2000 // 开始年份
let endYear = 2030 // 结束年份
let difference = endYear - startYear //差值
let date = [] // 时间数组
// 循环添加年
for (let i = 0; i <= difference; i++) {
date[i] = {
name: startYear++,
child: [],
}
// 循环添加月
for (let j = 0; j < 12; j++) {
date[i].child[j] = {
name: j + 1,
child: [],
}
let day = null
// 31天月份
let month1 = { 1: 1, 3: 1, 5: 1, 7: 1, 8: 1, 10: 1, 12: 1 }
let month2 = { 4: 1, 6: 1, 9: 1, 11: 1 }
if (month1[date[i].child[j].name] == 1) {
day = 31
}
// 30天月份
else if (month2[date[i].child[j].name] == 1) {
day = 30
}
// 2月
else if (date[i].child[j].name == 2) {
let year = date[i].name
// 闰年判断
let cond1 = year % 4 == 0 //条件1:年份必须要能被4整除
let cond2 = year % 100 != 0 //条件2:年份不能是整百数
let cond3 = year % 400 == 0 //条件3:年份是400的倍数
var boo = (cond1 && cond2) || cond3
if (boo) {
day = 28
} else {
day = 29
}
}
// 循环添加天数
for (let k = 0; k < day; k++) {
date[i].child[j].child[k] = {
name: k + 1,
}
}
}
}
console.log(date)