例如获取2021-06-21后1天日期
/**
* JavaScript 获取指定日期的前几天或者后几天的日期
* @param date {string} 日期 如:2021-06-21
* @param day {number} 天数 如:1 后几天|-1 前几天,默认后1天
* @param format {string} 时间格式 如:2021-06-22,默认 -
* @returns {string}
*/
export function getNextDate(date, day = 1, format = "{y}-{m}-{d}") {
if (date) {
const nDate = new Date(date);
nDate.setDate(nDate.getDate() + day);
const formatObj = {
y: nDate.getFullYear(),
m: nDate.getMonth() + 1,
d: nDate.getDate(),
};
return format.replace(/{([ymd])+}/g, (result, key) => {
const value = formatObj[key];
return value.toString().padStart(2, "0");
});
} else {
throw new Error("getNextDate:错误的参数");
}
}
使用示例
import { getNextDate } from "@/utils";
getNextDate("2021-6-21")
// 2021-06-22
getNextDate("2021-6-21", 2)
// 2021-06-23
getNextDate("2021-6-21", 2, "{y}年{m}月{d}日")
// 2021年06月23日