获取当前周的日期(起始日期为周一)

本文介绍了一段JavaScript代码,用于获取当前星期的日期和时间戳,并进行相应处理。通过`getStartTime`函数获取当天0点的时间戳,`timestampToTime`函数将时间戳转换为日期格式。主要功能包括填充一周内每一天的对象,设置当前天的时间戳,并计算其余日期的时间戳。最后,将日期转换为友好的日期格式并更新到数据中。
摘要由CSDN通过智能技术生成

此文章只为记录

逻辑函数

 // 获取当前星期
    getDay() {
      let week = []
      var weeks = new Array("星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日");
      for (var i = 0; i < 7; i++) {
        let weekObj = {
          name: weeks[i],
          date: '',
          timeStamp: '',
        }
        week.push(weekObj)
      }
      let today = this.getStartTime(Number(new Date())) // 当天时间戳
      let today_week = new Date().getDay() // 当天星期几
      if (today_week == 0) {
        // 若当天为周日
        week[6].timeStamp = today
      } else {
        week[today_week - 1].timeStamp = today
      }
      var leftNum = today_week - 2 // 本周内今天的前几天的数量
      var rightNum = 6 - today_week // 本周内今天的后几天的数量
      for (var left = 0; left < leftNum; left++) {
        week[left].timeStamp =
          today - (today_week - left - 1) * 1000 * 60 * 60 * 24
      }
      for (var right = 0; right < rightNum; right++) {
        week[right + today_week].timeStamp =
          today + (right + 1) * 1000 * 60 * 60 * 24
      }
      week.map((el) => {
        el.date = this.timestampToTime(el.timeStamp)
      })
      // let res2 = week.splice(0,1)
      // week.push(res2[0])
      let that = this;
      that.setData({
        currentWeek: week
      })
    },
    

工具函数

// 获取当天0点的时间戳
    getStartTime(time) {
      const nowTimeDate = new Date(time)
      return nowTimeDate.setHours(0, 0, 0, 0)
    },
    //  时间戳转日期格式
    timestampToTime(timestamp) {
      var date = new Date(timestamp)
      var Y = date.getFullYear() + '-'
      var M =
        (date.getMonth() + 1 < 10 ?
          '0' + (date.getMonth() + 1) :
          date.getMonth() + 1) + '-'
      var D = date.getDate()
      return Y + M + D
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值