vue实现滑动切换周

<template>
  <div>
    <div class="date_picker">
      <van-button @click="preWeek()">
        <van-icon name="arrow-left" />
      </van-button>
      <div>
        {{ `${ss}` }}
      </div>
      <van-button @click="nextWeek()" disabled>
        <van-icon name="arrow" />
      </van-button>
    </div>
  </div>
</template>
<script>
  import day from "dayjs";
  export default {
    data() {
      return {
        curD: new Date(),
        firstD: new Date(),
        lastD: new Date(),
        ss: undefined,
        timestamp: {
          beginTime: "",
          endTime: ""
        }
      };
    },
    created() {},
    mounted() {
      // 获取当前周
      this.getTime();
    },
    computed: {},
    methods: {
      getTime() {
        //获取当前周
        let curD = this.curD;
        let firstD = this.firstD;
        let lastD = this.lastD;
        let intD = new Date();
        let dayTime = 24 * 60 * 60 * 1000;
        var dateLong = curD.getTime();
        if (curD.getDay() == 0) {
          //当前时间取代过去的时间
          dateLong = dateLong - 6 * dayTime;
        } else {
          dateLong = dateLong - (curD.getDay() - 1) * dayTime;
        }
        let d = curD.setTime(dateLong);
        let tt = Date.parse(firstD);
        firstD = curD;
        lastD.setTime(firstD.getTime() + 6 * dayTime);
        let st =
          firstD.getFullYear() +
          "年" +
          (firstD.getMonth() + 1) +
          "月" +
          firstD.getDate() +
          "日";
        let et =
          lastD.getFullYear() +
          "年" +
          (lastD.getMonth() + 1) +
          "月" +
          lastD.getDate() +
          "日";

        // 周开始
        let test = day(st).format("YYYY-MM-DD 00:00:00");

        // 周结束
        let test1 = day(et).format("YYYY-MM-DD 23:59:59");
        console.log("test", test, test1);

        // 当前时间处理
        // if (tt > Date.parse(st)) {
        //   st =
        //     intD.getFullYear() +
        //     "-" +
        //     (intD.getMonth() + 1) +
        //     "-" +
        //     intD.getDate();
        // }
        let ss = st + " - " + et;
        console.log("ss", ss);
        this.ss = ss;
      },
      preWeek() {
        //上一周
        let curD = this.curD;
        let dayTime = 24 * 60 * 60 * 1000;
        var dateLong = curD.getTime();
        curD.setTime(dateLong - 6 * dayTime);
        this.curD = curD;
        this.getTime();
      },
      nextWeek() {
        //下一周

        let curD = this.curD;
        let dayTime = 24 * 60 * 60 * 1000;
        var dateLong = curD.getTime();
        curD.setTime(dateLong + 7 * dayTime);
        this.curD = curD;
        this.getTime();
      }
    }
  };
</script>
<style lang="less" scoped>
  .date_picker {
    display: flex;
    background-color: pink;
    justify-content: space-between;
    align-items: center;
  }
</style>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

都挺好,刚刚好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值