js中的new Data操作归纳(会持续补充)

1、根据给定的日期获取当前日期月份的最后一天

let year = new Date('2024-08-15').getFullYear(); // 获取当前年份
let month = new Date('2024-08-15').getMonth(); // 获取当前月份
let date = new Date(year, month + 1, 0).getDate();
console.log(data) //当前月份的最后一天 31

2、使用moment获取当前日期的月份的第一天和最后一天

moment().month(moment().month()).startOf('month').format('YYYY-MM-DD')// 第一天
moment().month(moment().month()).endOf('month').format('YYYY-MM-DD') //最后一天

3、使用moment操作当前选中的日期不能超过多少个月

const beginDate =moment(this.searchData.beginDate);//开始时间
const endDate =moment(this.searchData.endDate);//结束时间
const daysDiff=endDate.diff(beginDate,'months',true);
if(daysDiff >2){
  return this.$Message.warning('开始时间和结束时间不能超过两个月’)
}

4、获取当前日期最近的五年

// 获取最近的五年
    getLastTenYears() {
      const currentYear = new Date().getFullYear();
      const startYear = currentYear - 4;
      const endYear = currentYear;
 
      const years = [];
      for (let year = startYear; year <= endYear; year++) {
        years.push(year);
      }
 
      return years.reverse();
    },
    console.log(getLastTenYears()) // [2024, 2023, 2022, 2021, 2020]

 5、输入的时间不能小于当前时间

const inputDate = new Date('输入的时间');
       // 获取当前日期的Date对象
        const today = new Date();
      
      // 将时间部分设置为00:00:00,只比较日期部分
      today.setHours(0, 0, 0, 0);
      inputDate.setHours(0, 0, 0, 0);
      console.log(today, inputDate);
      
      if (inputDate <= today - 1) {
        return this.$Message.warning('输入的阀门时间不能小于当前时间')
 }

6、开始时间不能大于结束时间

//输入的开始时间
const inputBeginDate = new Date(this.searchData.beginDate);
// 输入的结束时间
const inputEndDate = new Date(this.searchData.endDate);
inputEndDate.setHours(0, 0, 0, 0);
inputBeginDate.setHours(0, 0, 0, 0);
// 如果开始时间大于结束时间,返回一个 true
if (inputBeginDate > inputEndDate) {
  return true;
}

7、获取当前日期前n天的日期

let n = 3
//获取当前日期三天前的日期,可以用momont格式化
let date = new Date(new Date().getTime() - 24 * 60 * 60 * 1000 * n)
console.log(momont(date).format('YYYY-MM-DD HH:mm:ss'))// 三天前的日期

 8、获取当前日期后n天的日期

let n = 3
//获取当前日期三天前的日期,可以用momont格式化
let date = new Date(new Date().getTime() + 24 * 60 * 60 * 1000 * n)
console.log(momont(date).format('YYYY-MM-DD HH:mm:ss'))// 三天后的日期

9、传入的日期距离今天已经过去多少天了

function untilToday (date) {
  // 当前时间
  let todayTime = moment()
  // 传入的时间
  let inputDate = moment(date)
  const daysDifference = todayTime.diff(inputDate, 'days');
  return daysDifference
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值