前端Js 最近1天、最近3天、前7天、最近一个月、最近一个月、最近三个月、最近一年等
/*
* 功能:实现VBScript的DateAdd功能.
* 参数:interval,字符串表达式,表示要添加的时间间隔.
* 参数:number,数值表达式,表示要添加的时间间隔的个数.
* 参数:date,时间对象.
* 返回:新的时间对象.
* var now = new Date();
* var newDate = getDate ( "d", 5, now);
获取到的是时间格式,可通过 date.getTime() 获取对应时间戳
*--------------- getDate (interval,number,date) -----------------
*/
const getDate = (interval: string, number: Number, date: Date) => {
switch (interval) {
case "y ": {
date.setFullYear(date.getFullYear() + number);
break;
}
case "q ": {
date.setMonth(date.getMonth() + number * 3);
break;
}
case "m ": {
date.setMonth(date.getMonth() + number);
break;
}
case "w ": {
date.setDate(date.getDate() + number * 7);
break;
}
case "d ": {
date.setDate(date.getDate() + number);
break;
}
case "h ": {
date.setHours(date.getHours() + number);
break;
}
case "m ": {
date.setMinutes(date.getMinutes() + number);
break;
}
case "s ": {
date.setSeconds(date.getSeconds() + number);
break;
}
default: {
date.setDate(d.getDate() + number);
break;
}
}
return date;
}