我有以下功能:
public static addDaysNextPrev(operation: number, date: Date = new Date(), days: number = 7): IDateCalendarNextPrev {
const currentDate = new Date(date);
const prevDate = new Date(date);
currentDate.setDate(currentDate.getDate() + (days * operation));
prevDate.setDate(currentDate.getDate() - (days * operation));
console.log(prevDate);
}
我尝试从当前日期开始加/减几天。想法是在当前日期添加 7 天并返回上一个日期和下一个日期。
参数是确定到下一个日期或上一个日期的方向operation
的数字或正数或负数。1
我总是排错日期:
console.log(prevDate);
这是我的第二个解决方案,更明显的是:
public static addDaysNextPrev(operation: boolean, date: Date = new Date(), days: number = 7): IDateCalendarNextPrev {
let currentDate = new Date(date);
let prevDate = new Date(date);
if (operation) {
prevDate = date;
currentDate.setDate(currentDate.getDate() + days);
} else {
currentDate.setDate(date.getDate() - days);
prevDate.setDate(currentDate.getDate() - days);
}
}