通过当前时间与截止时间判断报名是否结束

235 阅读1分钟
年月日比较大小

currentdate当前时间
deadline截止时间


<template>
  <div>
    <router-link :to="apply?{name:'userinfo'}:{name:''}" class="contest">
    <span class="signup">{{ apply?'【大赛报名】':'【报名截止】' }}</span>
    </router-link>
  </div>
</template>

import { getContestList } from './api' //引入接口data() {
  return {
    apply: true    //定义是否报名结束变量
  }
},
created() {
  this.getContest()
},

methods: {
  getContest() {
    getContestList()
      .then(res => {
        this.deadline = res.data[0].reg_deadline  //从接口里获取的时间,如:2019-08-31
        var date = new Date()
        var seperator1 = '-'
        var year = date.getFullYear()
        var month = date.getMonth() + 1
        var strDate = date.getDate()
        if (month >= 1 && month <= 9) {
          month = '0' + month
        }
        if (strDate >= 0 && strDate <= 9) {
          strDate = '0' + strDate
        }
        var currentdate = year + seperator1 + month + seperator1 + strDate //当前时间
        var d1 = new Date(currentdate.replace(/\-/g, '\/'))
        var d2 = new Date(this.deadline.replace(/\-/g, '\/'))
        if (currentdate !== '' && this.deadline !== '' && d1 > d2) {
          this.apply = false
        }
      })
      .catch(err => {
        console.log(err)
      })
  }
}