美文网首页
Date丨计算设置天数后的日期

Date丨计算设置天数后的日期

作者: Cooli丨Y | 来源:发表于2019-01-28 16:51 被阅读0次
    /**------------------------------------
     * 封装一个函数,包含两个参数,日期和天数
     * 
     * 可以根据你输入的参数,显示你输入天数之后的日期
     * 
     * 年, 月, 日 -> 年, 月, 日
     * 
     */
    // 设置各月份的天数
    function diffDay (year, month){
        if(month === 2){
            if((year%4 === 0 && year%100 !== 0) ||year%400 === 0){
                return 29;
            }else {
                return 28;
            }
        }else if(month === 4 || month === 6 || month === 9 || month === 11){
            return 30;
        }else{
            return 31;
        }
    }
    
    
    // 计算n天之后的日期
    function diffDate(nDate, nDay){
        let y  = nDate.getFullYear();
        let m = nDate.getMonth()+1;
        let d   = nDate.getDate();
        while(nDay){
            var getday = diffDay(y, m);
            if ((d + nDay) <= getday) {
                d += nDay;
                break;
            }else {
                m++;
                nDay = nDay - (getday - d)
                d = 0;
                if(m > 12){
                    y++;
                    m = 1;
                }
            }
        }
        // 重新设置时间
        let newDate = new Date();
        newDate.setFullYear(y);
        newDate.setMonth(m - 1);
        newDate.setDate(d);
        return newDate;
    }
    
    
    let nowDate = new Date()
    let newDate = diffDate(nowDate, 365)
    console.log(newDate)
    



    相关文章

      网友评论

          本文标题:Date丨计算设置天数后的日期

          本文链接:https://www.haomeiwen.com/subject/qboajqtx.html