vue时间加减相关问题

1、获取当前时间加一天、加一月、加一年

export default {
  computed: {
    //获取当前时间加一天
    dateDefault() {
      var dateTime = new Date();
      dateTime = dateTime.setDate(dateTime.getDate()+1);
      dateTime = new Date(dateTime);
      var Y = dateTime.getFullYear() + '-';
      var M = (dateTime.getMonth() + 1 < 10 ? '0' + (dateTime.getMonth() + 1) : dateTime.getMonth() + 1) + '-';
      var D = (dateTime.getDate() < 10 ? '0' + (dateTime.getDate()) : dateTime.getDate());
      return Y + M + D;
    },
    //获取当前时间加一月
    monthDefault() {
      var monthTime = new Date();
      monthTime=monthTime.setMonth(monthTime.getMonth() +1)
      monthTime = new Date(monthTime);
      var Y = monthTime.getFullYear() + '-';
      var M = (monthTime.getMonth() + 1 < 10 ? '0' + (monthTime.getMonth() + 1) : monthTime.getMonth() + 1) + '-';
      var D = (monthTime.getDate() < 10 ? '0' + (monthTime.getDate()) : monthTime.getDate());
      return Y + M + D;
    },
    //获取当前时间加一年
    yearDefault() {
      var yearTime = new Date();
      yearTime=yearTime.setFullYear(yearTime.getFullYear() +1);
      yearTime = new Date(yearTime);
      var Y = yearTime.getFullYear() + '-';
      var M = (yearTime.getMonth() + 1 < 10 ? '0' + (yearTime.getMonth() + 1) : yearTime.getMonth() + 1) + '-';
      var D = (yearTime.getDate() < 10 ? '0' + (yearTime.getDate()) : yearTime.getDate());
      return Y + M + D;
    },
  },
  mounted() {
    console.log(this.yearDefault,"yearDefault")
    console.log(this.monthDefault,"monthDefault")
    console.log(this.timeDefault,"timeDefault")
  }
}

2、时间大小的比较

export default {
  methods: {
    //点击提交按钮进行日期校验
    submit() {
      let isdate = true;
      if (this.compareDate(addBase.foundDate, new Date())) {
        isdates = false;
      }
      if (!isdate) {
        this.$message.error("设立日期不可大于当前日期");
        return;
      }
    },
    // 两个日期比较
    compareDate(date1, date2) {
      let dates1 = new Date(date1);
      let dates2 = new Date(date2);
      if (dates1 > dates2) {
        return true;
      } else {
        return false;
      }
    },
  },
}

3、根据true和false来判断可选时间,true最早为上个月1日,false最早为当前月1日,最晚为当前日期

export default { 
 computed: {
    pickerOptions() {
      let that = this;
      return {
        disabledDate(time) {
          let startDate = 0; //起始时间
          let o = {
            "Y": new Date().getFullYear(),
            "M": new Date().getMonth() + 1,
            "d": new Date().getDate()
          };
          let endDate = new Date(o.Y + '-' + o.M + '-' + o.d + ' 23:59:59').getTime(); //最晚时间
          let lastYear = o.M==1?(o.Y-1):o.Y
          let lastMonth = o.M==1?12:(o.M-1)
          let lastMonthDate = new Date(lastYear + '-' + lastMonth + '-1' + ' 00:00:00').getTime() //上月1号
          let currentMonthDate = new Date(o.Y + '-' + o.M + '-1' + ' 00:00:00').getTime() //当前月1号
          if(false){
            startDate = currentMonthDate
          }else{
            startDate = lastMonthDate
          }
            return time.getTime() < startDate || time.getTime() > endDate;
        }
      }
    },
  },
 }

4、两个时间相减

//使用 getTime() 函数进行 Datetime 相减
var day1 = new Date("08/25/2020");
var day2 = new Date("12/25/2021");
var difference = day2.getTime()-day1.getTime();
document.write(difference);//42076800000

//使用 Math.abs() 函数对日期时间进行相减
var day1 = new Date("08/25/2020"); 
var day2 = new Date("08/25/2021");
var difference= Math.abs(day2-day1);
days = difference/(1000 * 3600 * 24)
document.write(days)//365 区分大小写的,如果写的不一样,将无法使用。

//使用 Date.UTC() 函数将日期转换为 UTC
function difference(date1, date2) {  
  const date1utc = Date.UTC(date1.getFullYear(), date1.getMonth(), date1.getDate());
  const date2utc = Date.UTC(date2.getFullYear(), date2.getMonth(), date2.getDate());
    day = 1000*60*60*24;
  return(date2utc - date1utc)/day
}
const date1 = new Date("2020-12-10"),
      date2 = new Date("2021-10-31"),
      time_difference = difference(date1,date2)
document.write(time_difference)//325

猜你喜欢

转载自blog.csdn.net/m0_73460278/article/details/128822420