js 获取几天后,几天前日期

当天开始的几天前几天后


//获取最近7天日期
getDay(0);//当天日期
getDay(-7);//7天前日期
 
//获取最近3天日期
getDay(0);//当天日期
getDay(-3);//3天前日期

function getDay(day){  
       var today = new Date();  
         
       var targetday_milliseconds=today.getTime() + 1000*60*60*24*day;          
  
       today.setTime(targetday_milliseconds); //注意,这行是关键代码
         
       var tYear = today.getFullYear();  
       var tMonth = today.getMonth();  
       var tDate = today.getDate();  
       tMonth = doHandleMonth(tMonth + 1);  
       tDate = doHandleMonth(tDate);  
       return tYear+"-"+tMonth+"-"+tDate;  
}  
function doHandleMonth(month){  
       var m = month;  
       if(month.toString().length == 1){  
          m = "0" + month;  
       }  
       return m;  
}

获取指定日期的几天前几天后日期

第一种方法

/**
     * 几天前或者后的时间
     * @param definedTime
     * @param days
     */
    function getDaysAfter(definedTime, days) {
        const milliseconds = 1000 * 60 * 60 * 24 * days;
        const afterTime = new Date(definedTime).getTime() + milliseconds;
        let dateObj = new Date(afterTime);
        return dateObj.getMonth() + 1 + '月' + dateObj.getDate() + '日';
    }
//7天后
getDaysAfter(2020-6-30,7)

第二种方法


getDay(7);//7天后日期
function getDay(day){  
       var today = new Date();  
         // 也很简单
		var strtime = '2020-06-30 18:55:49:123';
		var date = new Date(strtime); //传入一个时间格式,如果不传入就是获取现在的时间了,这样做不兼容火狐。
		time2 = date.valueOf();
       var targetday_milliseconds=time2  + 1000*60*60*24*day;          
  
       today.setTime(targetday_milliseconds); //注意,这行是关键代码
         
       var tYear = today.getFullYear();  
       var tMonth = today.getMonth();  
       var tDate = today.getDate();  
       tMonth = doHandleMonth(tMonth + 1);  
       tDate = doHandleMonth(tDate);  
       return tYear+"-"+tMonth+"-"+tDate;  
}  
function doHandleMonth(month){  
       var m = month;  
       if(month.toString().length == 1){  
          m = "0" + month;  
       }  
       return m;  
}

你可能感兴趣的:(js)