JS 根据年份生成年月日

22 min read
 let startDate = new Date("2020"),
        endDate = new Date("2026");
    let startY = startDate.getFullYear(),
        endY = endDate.getFullYear()


    let dateList = [];
    for (let i = startY; i <= endY; i++) {
        dateList.push({
            text:i,
            value:i,
            children:[]
        }); 
        for (let j = 1; j <= 12; j++) {
            dateList[i-startY].children.push({
                text:j,
                value:j,
                children:[]
            });
            let days = new Date(i, j, 0).getDate();
            for (let k = 1; k <= days; k++) {
                dateList[i-startY].children[j-1].children.push({
                    text:k,
                    value:k,
                });
            }
        }
    }
    console.log('dateList', JSON.stringify(dateList));