根据当前日期得到前/后n天日期 根据指定日期得到前/后n天日期

//得到任意几天前的日期的方法
function getBeforeDate(n){  
var n = n;  
var d = new Date();  
var year = d.getFullYear();  
var mon=d.getMonth()+1;  
var day=d.getDate();  
if(day <= n){  
if(mon>1) {  
  mon=mon-1;  
}  
  else {  
year = year-1;  
mon = 12;  
}  
  }  
 d.setDate(d.getDate()-n);  
 year = d.getFullYear();  
 mon=d.getMonth()+1;  
 day=d.getDate();  
s = year+"-"+(mon<10?('0'+mon):mon)+"-"+(day<10?('0'+day):day);  
return s;  

}  

如果需要当前日期后几天的日期,则n天负数,例:getBeforeDate(-1) 即为明天的日期


根据指定日期得到前/后n天日期:其实就是将上面的方法做一个修改。再传入一个指定的日期,同时将

上面方法中的var d = new Date()修改,方法如下:


function getBeforeDate(n,givenDate){  
var n = n;  
var regEx = new RegExp("\\-","gi"); 
var givenDate =givenDate.replace(regEx,"/");
var d = new Date(givenDate);  
var year = d.getFullYear();  
var mon=d.getMonth()+1;  
var day=d.getDate();  
if(day <= n){  
if(mon>1) {  
  mon=mon-1;  
}  
  else {  
year = year-1;  
mon = 12;  
}  
  }  
 d.setDate(d.getDate()-n);  
 year = d.getFullYear();  
 mon=d.getMonth()+1;  
 day=d.getDate();  
s = year+"-"+(mon<10?('0'+mon):mon)+"-"+(day<10?('0'+day):day);  
return s;  
}  




你可能感兴趣的:(javaScript)