zouyu
19 小时以前 8fc1138d2f2115121fd15b679ca1a20fc2ba838a
src/utils/date.js
@@ -1,3 +1,4 @@
import dayjs from 'dayjs';
/**
 * 获取年月日
 */
@@ -58,7 +59,7 @@
 * @param date
 * @returns {string}
 */
export function getYearAndMonthAndDaysZTZB(date = new Date()) {
export function getYearAndMonthAndDaysZTNS(date = new Date()) {
  let year = date.getFullYear();
  let month = date.getMonth();
  let days = date.getDate();
@@ -71,11 +72,61 @@
      year++;
    }
  }
  month += 1;
  month = month < 10 ? '0' + month + '-' : month + '-';
  year = year + '-';
  days = days < 10 ? '0' + days : days;
  return (year + month + days);
}
}
/**
 * 获取时间范围:26号-25号
 * 初始化默认日期范围:近一个月(当前日期 - 30天 至 当前日期)
 * @param format
 * @returns {*[]}
 */
export function getTimeRange(format = 'YYYY-MM-DD HH:mm:ss') {
  // 获取当前时间
  const now = dayjs();
  // 获取当前日期的「日」(1-31)
  const currentDate = now.date();
  let startTime, endTime;
  // 核心逻辑:判断当前日期是否大于25号
  if (currentDate > 25) {
    // ✅ 情况1:当前日>25 → 当月26号 ~ 次月25号
    startTime = now.startOf('month').add(25, 'day'); // 当月1号 +25天 = 26号
    endTime = startTime.add(1, 'month').date(25).hour(23)
      .minute(59)
      .second(59);     // 次月25号(dayjs自动处理跨年)
  } else {
    // ✅ 情况2:当前日≤25 → 上月26号 ~ 当月25号
    startTime = now.subtract(1, 'month').startOf('month').add(25, 'day'); // 上月26号
    endTime = now.date(25).hour(23)
      .minute(59)
      .second(59); // 当月25号
  }
  // 返回格式化后的时间数组
  return [startTime.format(format), endTime.format(format)];
}
/**
 * 获取班次月份
 * @returns {*}
 */
export function getWorkMonth(){
  // 获取当前时间
  const now = dayjs();
  // 获取当前日期的「日」(1-31)
  const currentDate = now.date();
  let workMonth;
  // 核心逻辑:判断当前日期是否大于25号
  if (currentDate > 25) {
    workMonth = now.add(1, 'month')
  }else{
    workMonth = now
  }
  return workMonth
}