vue中获取当前日期 , 获取当前日期所在周的日期 , 获取所选日期所在周的日期

一, 获取当前日期



日报 ( {{date}} )


data(){
  return{
     date:""
   }
},

mounted(){
   this.getDate()
}




methods:{
 //获取当前日期的方法
   getDate() {
     var time = new Date()
     console.log(time);
  
     var y = time.getFullYear()    //年
     var m = (time.getMonth() + 1).toString().padStart(2, '0')  //月
     var d = time.getDate().toString().padStart(2, '0')    //日
     var h = time.getHours().toString().padStart(2, '0')    //时
     var mm = time.getMinutes().toString().padStart(2, '0')   //分
     var s = time.getSeconds().toString().padStart(2, '0')     //秒

     this.date = `${y}-${m}-${d}`
  }

}

控制台打印 

页面显示 

 

二 , 获取当前日期所在周的日期


周报 ( {{weekFirst1}}-{{weekFirst2}} - {{weekEnd1}}-{{weekEnd2}} )




mounted() {
   this.getWeek()
}




// 获取当前日期所在周的日期
   getWeek() {
      var time= new Date()
      var timesStamp = time.getTime();
      var currenDay = time.getDay();
      var weekDates = [];

      for (var i = 0; i < 7; i++) {
        weekDates.push(new Date(timesStamp + 24 * 60 * 60 * 1000 * (i - (currenDay + 6) % 7)).toLocaleDateString()
            .replace(/\//g, '-'));
        }

      console.log(weekDates)

      //自己按需求截取
       this.weekFirst1 = weekDates[0].split('-')[1]
       this.weekFirst2 = weekDates[0].split('-')[2]
       this.weekEnd1 = weekDates[6].split('-')[1]
       this.weekEnd2 = weekDates[6].split('-')[2]

    },

控制台打印

页面显示

三 , 获取所选日期所在周的日期

结合日期选择器 , 用户可以自己选择日期  , 所在周的日期也要跟着所选日期联动变化 

(页面刚开始显示当前日期 , 用第一个方法获取当前日期赋值给date , 这里就不重复写了)

用的vant的日期选择器组件 

日报 ( {{date}} )
<van-icon name="arrow-down" @click="choseTime" />

周报 ( {{weekFirst1}}-{{weekFirst2}} - {{weekEnd1}}-{{weekEnd2}} )


<van-popup v-model="showPicker" position="bottom">
     
  <van-datetime-picker @cancel="showPicker = false" @confirm="onConfirm" v- 
    model="currentDate" type="date"  :min-date="minDate" :max-date="maxDate" />
           
</van-popup>






data(){

  return{
    date:"",
    weekFirst1:"",
    weekFirst2:"",
    weekEnd1:"",
    weekEnd2:"",
    showPicker: false,
    currentDate: new Date(),
    minDate: new Date(2020, 1, 1),
    maxDate: new Date(2131, 12, 30),

  }
}






methods:{

     //获取所选日期所在的周
      getChoseWeek(val) {
        var time= new Date(val)
        var timesStamp = time.getTime();
        var currenDay = time.getDay();
        var weekDates = [];

       for (var i = 0; i < 7; i++) {
        weekDates.push(new Date(timesStamp + 24 * 60 * 60 * 1000 * (i - (currenDay + 6) % 7)).toLocaleDateString()
            .replace(/\//g, '-'));
        }

       console.log(weekDates)

      //自己按需求截取
       this.weekFirst1 = weekDates[0].split('-')[1]
       this.weekFirst2 = weekDates[0].split('-')[2]
       this.weekEnd1 = weekDates[6].split('-')[1]
       this.weekEnd2 = weekDates[6].split('-')[2]

      },

   // 弹出日期选择
      choseTime() {
        this.showPicker = true
      },

   // 选好日期
      onConfirm(val) {
        console.log(val);

        var y = val.getFullYear()
        var m = (val.getMonth() + 1).toString().padStart(2, '0')
        var d = val.getDate().toString().padStart(2, '0')
        this.date = `${y}-${m}-${d}`
        this.showPicker = false

      //调用方法 , 把选好的日期传过去
        this.getChoseWeek(val)
      },

}

页面效果 (所在周的日期会根据所选的日期联动变化)

 

  

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值