function getDate(type, time, m, add) {
if(!type || !time || !m){
return
}
var _time = String(time);
if (type == 'YY') {
if(add){
return Number(time) + m;
}else{
return Number(time) - m
}
} else if(type == 'MM'){
if(parseInt(m)>0){
var t = _time.slice(0,4) + '-' + _time.slice(4);
var myDate = new Date(t)
var year = myDate.getFullYear();
var month = myDate.getMonth()+1;
var day = myDate.getDate();
var result='';
addYear = parseInt(parseInt(m) / 12);
addMon = parseInt(m) % 12;
if(add){
if(addYear > 0){
year += addYear;
}
if( (addMon + month) >= 12 ){
console.log('add', addMon + month)
year = year + 1;
month = addMon + month - 12;
result = year + (month > 9 ? '' + month : '0' + month)
}else{
month += addMon;
result = year + (month > 9 ? '' + month : '0' + month)
}
} else {
if(addYear>0){
year -= addYear;
}
if((addMon>month) || (addMon==month)){
year=year-1;
month=12 - addMon + month;
result=year + (month > 9 ? '' + month : '0' + month)
}else{
month-=addMon;
result=year + (month > 9 ? '' + month : '0' + month)
}
}
return result
}
} else if(type == 'DD'){
const t = _time.slice(0,4) + '-' + _time.slice(4, 6) + '-' + _time.slice(6);
let startTime
if(add){
startTime = new Date(t).getTime() + m*24*60*60*1000;
} else {
startTime = new Date(t).getTime() - m*24*60*60*1000;
}
let _y = new Date(startTime).getFullYear(),
_m = new Date(startTime).getMonth() + 1,
_d = new Date(startTime).getDate(),
_date = '' + _y + (_m > 9 ? _m : '0' + _m) + _d;
return _date
}
}
// 使用方法 年加减 getDate('YY', '2019', 加减n年, true代表加/false减)
// 使用方法 月加减 getDate('MM', '201906', 加减n个月, true代表加/false减)
console.log(getDate('DD', '20190602', 8, true)) //日
javascript js 时间日期加减
最新推荐文章于 2024-08-02 10:18:30 发布