js判断时间跨度是否超过3个月

时间戳转换为yyyy-mm-dd

   formatDayTime(val) {
     if(val) {
       let date = new Date(val)
       let Y = date.getFullYear();
       let M = date.getMonth() + 1;
       let D = date.getDate();
       if(M < 10) {
         M = '0' + M;
       }
       if(D < 10) {
         D = '0' + D;
       }
       return Y + '-' + M + '-' + D ;
     } else {
       return '';
     }
   },

判断二个日期是否超过三个月

    // 获取当前月份对应天数
    getMonthDay (date) {
       const baseMonthsDay = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] // 各月天数
       const dataList = date.split('-')
       const thisYear = Number(dataList[0]) // 年
       const thisMonth = Number(dataList[1]) - 1 // 月
       let thisMonthDays = baseMonthsDay[thisMonth] // 当前月对应天数
       // 判断是否为闰年
       function isRunYear (fullYear) {
         // eslint-disable-next-line eqeqeq
         return ((fullYear % 4 == 0 && fullYear % 100 != 0) || fullYear % 400 == 0)
       }
       // 闰年 2月 29天
       if (isRunYear(thisYear) && thisMonth === 1) {
         thisMonthDays = thisMonthDays + 1
       }
       return thisMonthDays
     },
     timeBetween(startDate, endDate){
       let start  = new Date(startDate.replace(/-/g,"/")).getTime();
       let end = new Date(endDate.replace(/-/g,"/")).getTime();

       let betweenTime = startDate.split('-')
       if (betweenTime[1] === '12') { // 开始日期往后一个月 作为中间月
         betweenTime[1] = '01'  // startDate是12月,下个月是1月
         betweenTime[0] = betweenTime[0] - 0 + 1
       } else if ((betweenTime[1] - 0 + 1) < 10) {
         betweenTime[1] = '0' + (betweenTime[1] - 0 + 1) // 补0
       } else {
         betweenTime[1] = betweenTime[1] - 0 + 1
       }
       betweenTime = betweenTime.join('-')

       let lastTime = betweenTime.split('-')
       if (lastTime[1] === '12') { // 开始日期往后一个月 作为中间月
         lastTime[1] = '01'
         lastTime[0] = lastTime[0] - 0 + 1
       } else if ((lastTime[1] - 0 + 1) < 10) {
         lastTime[1] = '0' + (lastTime[1] - 0 + 1)
       } else {
           lastTime[1] = lastTime[1] - 0 + 1
       }
       lastTime = lastTime.join('-')

       let n = this.getMonthDay(startDate) + this.getMonthDay(lastTime) + this.getMonthDay(betweenTime)
       // 判断毫秒数如果小于等于90天返回true 反之 false
       return end - start  <= n * 24 * 60 * 60 * 1000 ? true : false
     },

获取此刻时间 年月日 时分秒

const getFormattedCurrentTime = () => {
  const now = new Date();
  const year = now.getFullYear();
  const month = (now.getMonth() + 1).toString().padStart(2, '0');
  const day = now.getDate().toString().padStart(2, '0');
  const hours = now.getHours().toString().padStart(2, '0');
  const minutes = now.getMinutes().toString().padStart(2, '0');
  const seconds = now.getSeconds().toString().padStart(2, '0');
  return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
}

获取过去24小时 年月日 时分秒

const getPast24HoursFormatted = () => {
  const now = new Date();
  const past24Hours = new Date(now - 24 * 60 * 60 * 1000); // 减去24小时的毫秒数
  const year = past24Hours.getFullYear();
  const month = (past24Hours.getMonth() + 1).toString().padStart(2, '0'); // 月份是从0开始的
  const day = past24Hours.getDate().toString().padStart(2, '0');
  const hours = past24Hours.getHours().toString().padStart(2, '0');
  const minutes = past24Hours.getMinutes().toString().padStart(2, '0');
  const seconds = past24Hours.getSeconds().toString().padStart(2, '0');
  return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
}

获取昨天和今天

// 获取昨天和今天
const gettodays = () =>{
  // 获取今天的日期
  const today = new Date();
  // 获取昨天的日期
  const yesterday = new Date(today);
  yesterday.setDate(yesterday.getDate() - 1);
    
  // 格式化日期为YYYY-MM-DD hh:mm:ss
  const formatDate = (date) => {
    const year = date.getFullYear();
    const month = (date.getMonth() + 1).toString().padStart(2, '0');
    const day = date.getDate().toString().padStart(2, '0');
    return `${year}-${month}-${day} 00:00:00`;
  };
  let dayFrom = reactive({
    today: formatDate(today),
    yesterday: formatDate(yesterday)
  })
  return dayFrom;
}

获取过去七天时间

// 近七日
const sevenDayfuns = () => {
  // 获取当前日期
  var currentDate = new Date();
  // 获取前七天的日期
  var previousDates = [];
  for (var i = 6; i >= 0; i--) {
    var previousDate = new Date(currentDate);
    previousDate.setDate(currentDate.getDate() - i);
    previousDates.push(previousDate);
  }
  // 格式化日期
  var formattedDates = previousDates.map(function (date) {
    var year = date.getFullYear();
    var month = (date.getMonth() + 1).toString().padStart(2, "0");
    var day = date.getDate().toString().padStart(2, "0");
    return year + "-" + month + "-" + day;
  });
  var serveDayObj = reactive({
    start: formattedDates[0],
    end: formattedDates[formattedDates.length - 1],
  });
  return serveDayObj;
};

获取过去一个月时间

// 近一个月
const thirdtyDaysfuns = () => {
  let end = new Date();
  let year = end.getFullYear();
  let month = end.getMonth() + 1; //0-11表示1-12月
  let day = end.getDate();
  let thirdthDayObj = reactive({
    start: "",
    end: "",
  });
  thirdthDayObj.end = year + "-" + month + "-" + day;
  var endMonthDay = new Date(year, month, 0).getDate(); //当前月的总天数
  if (month - 1 <= 0) {
    //如果是1月,年数往前推一年<br>
    thirdthDayObj.start = year - 1 + "-" + 12 + "-" + day;
  } else {
    var startMonthDay = new Date(year, parseInt(month) - 1, 0).getDate();
    if (startMonthDay < day) {
      //1个月前所在月的总天数小于现在的天日期
      if (day < endMonthDay) {
        //当前天日期小于当前月总天数
        thirdthDayObj.start = year + "-" + (month - 1) + "-" + (startMonthDay - (endMonthDay - day));
      } else {
        thirdthDayObj.start = year + "-" + (month - 1) + "-" + startMonthDay;
      }
    } else {
      thirdthDayObj.start = year + "-" + (month - 1) + "-" + day;
    }
  }
  return thirdthDayObj;
};
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值