Date的一些方法

碰到一个很烦的需求,设置开始时间,和 时间长度(单位 月),自动计算 结束时间
具体点,开始 2月10 号,时长 2个月, 结束就是 4月 9号
如果时2月1号,结束就是 3月 31号
刚开始没想到什么好办法,都准备按具体的月份设置时间了,很麻烦

setDate() 方法 会根据你设置的值往前往后自动匹配对应的月份
比如,

let date = new Date(2018, 3, 1)
date = new Date(date.setDate(15))  // 2018-3-15
date = new Date(date.setDate(0))  // 2018-2-28
date = new Date(date.setDate(-1))  // 2018-2-27
date = new Date(date.setDate(32))  // 2018-4-1

所以 上面的问题就变成了

computed: {
      endDate: {
        get() {
          if (!this.form.guaranteeStartDate || !this.form.guaranteePeriod) return ''
          let date = new Date(this.form.guaranteeStartDate)
          date = date.setMonth(date.getMonth() + Number(this.form.guaranteePeriod))
          let day = new Date(date).getDate()
          return new Date(date).setDate(--day)
        },
        set() {}
      }
    },

你可能感兴趣的:(Date的一些方法)