南漂鱼
奋斗路上的南漂鱼

由于最近使用时间的方法比较多 写篇随笔记录总结下(2022-01-17)

时间格式化方法

const zero = function(value){
  if(Number(value) < 10){
    return "0" + value;
  }
  else{
    return value;
  }
}
const formatDate = (time)=>{
  let date = time ? new Date(time) : new Date();//time可以加层验证
  let wl = ["日", "一", "二", "三", "四", "五", "六"];
  let y = date.getFullYear();
  let m = zero(date.getMonth()+1);
  let d = zero(date.getDate());
  let w = date.getDay();
  let hh = zero(date.getHours());
  let mm = zero(date.getMinutes());
  let ss = zero(date.getSeconds());
  return {
    year: y,
    month: m,
    day: d,
    week: w,
    weekName: wl[w],
    hours: hh,
    minutes: mm,
    seconds: ss,
  }
}

获取本日周月季年--开始和结束时间

const getDate = (type)=>{
  let dateObject = formatDate();
  let arr = new Array();
  switch(type){
    //获取当天开始结束时间
    case 0:
      arr = [
        `${dateObject.year}-${dateObject.month}-${dateObject.day} 00:00:00`,
        `${dateObject.year}-${dateObject.month}-${dateObject.day} 23:59:59`,
      ];
      break;
    //获取本周开始结束时间
    case 1:
      let num = dateObject.week ? dateObject.week : 7;
      let st = formatDate(new Date().getTime() - (num-1) * 86400000);
      let et = formatDate(new Date().getTime() + (7-num) * 86400000);
      arr = [
        `${st.year}-${st.month}-${st.day} 00:00:00`,
        `${et.year}-${et.month}-${et.day} 23:59:59`,
      ];
      break;
    //获取本月开始结束时间
    case 2:
      let monthDay = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];//枚举12个月天数
      let isLeapYear = (()=>{
        if((dateObject.year%4 == 0 && dateObject.year%100 != 0) || (dateObject.year%400 == 0)) monthDay[1] = 29;
      })()
      arr = [
        `${dateObject.year}-${dateObject.month}-01 00:00:00`,
        `${dateObject.year}-${dateObject.month}-${monthDay[dateObject.month-1]} 23:59:59`
      ];
      break;
    //获取本季开始结束时间
    case 3:
      let quarter = Math.floor(dateObject.month%3 == 0 ? dateObject.month/3 : dateObject.month/3+1);
      if(quarter == 1){
        arr = [
          `${time.year}-01-01 00:00:00`,
          `${time.year}-03-31 23:59:59`
        ]
      }
      else if(quarter == 2){
        arr = [
          `${time.year}-04-01 00:00:00`,
          `${time.year}-06-30 23:59:59`
        ]
      }
      else if(quarter == 3){
        arr = [
          `${time.year}-07-01 00:00:00`,
          `${time.year}-09-30 23:59:59`
        ]
      }
      else if(quarter == 4){
        arr = [
          `${time.year}-10-01 00:00:00`,
          `${time.year}-12-31 23:59:59`
        ]
      }
      break;
    //获取年开始结束时间
    case 4:
      arr = [
        `${dateObject.year}-01-01 00:00:00`,
        `${dateObject.year}-12-31 23:59:59`,
      ];
      break;
  }
  return arr;
}
posted on 2022-01-17 10:27  南漂鱼  阅读(366)  评论(0)    收藏  举报