获取30天前的日期,格式2024-1-3

132 阅读1分钟

获取当天日期:

let time = new Date()
time.toLocaleDateString().replace(/\//g, '-')

获取30天前的日期:

/**
* 公有方法:获取前num天的日期
*
* @param {Number} num 自动向上取整
* @param {boolean} isDay 是否包含今天 默认值:包含
* @param {string} separator 日期之间的分隔符 默认是 '-'
* @returns yyyy-MM-dd
*/
const getTodayDate = (num, isDay = true, separator = '-',) => {
  num = Math.ceil(isDay ? num : num + 1)
  let arr_Date:any = []
  for (var i = 0; i <= num; i++) {
    let date = new Date(new Date().getTime() - (i * 24 * 60 * 60 * 1000))
    let currYear = new Date(date).getFullYear()
    let currMonth = new Date(date).getMonth() + 1
    let currDay = new Date(date).getDate()
    let result = `${currYear}${separator}${currMonth.toString().length < 2 ? `0${currMonth}` :
 currMonth}${separator}${currDay.toString().length < 2 ? `0${currDay}` : currDay}`;

    arr_Date.unshift(result);
  }
  return arr_Date.slice(0, 1)
}

console.log(getTodayDate(5)) //2023-12-28
console.log(getTodayDate(5,true,'/')) //2023/12/28
console.log(getTodayDate(5, false)) //2023-12-27