获取传入时间的最大小时|天|月

Scroll Down

/**
 * 获取传入时间的最大小时|天|月
 *
 * 使用示例:
 * mGetDate('2022','year)
 * @param date Date|string 时间
 * @param type string 时间类型
 * @returns {number} 例如 31 12 3
 */
function mGetDate(date,type) {
  let time = {
    day:{
      beforeFormat:'yyyy-MM-DD',
      returnFormat:'HH'
    },
    month:{
      beforeFormat:'yyyy-MM',
      returnFormat:'DD'
    },
    year:{
      beforeFormat:'yyyy',
      returnFormat:'MM'
    },
  }
  // 判断目标时间是否大于现在
  let isBefore = moment(date).isBefore(moment().format(time[type].beforeFormat))
  if (isBefore) {
    if(type==='day'){
      return 24
    }else if(type==='year'){
      return 12
    }else{
      return Number(moment(date).endOf('month').format(time[type].returnFormat))
    }
  } else {
    return Number(moment().format(time[type].returnFormat))
  }
}