获取最近日期时间 一个月 三个月 六个月

这段代码展示了在Vue.js应用中使用HTML和自定义组件(van-row,van-col,van-radio)来创建一个时间选择器。getMouthTime函数根据用户点击的不同选项(近1个月,近3个月,近6个月)计算并更新日期范围,存储在form.timeSelection中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.html写法

           <van-row gutter="18">
              <van-col span="8">
                <van-radio name="1" @click="getMouthTime('monthAgo')"
                  >近1个月
                </van-radio>
              </van-col>
              <van-col span="8">
                <van-radio name="2" @click="getMouthTime('trimesterAgo')"
                  >近3个月
                </van-radio>
              </van-col>
              <van-col span="8">
                <van-radio name="3" @click="getMouthTime('sixMonthsAgo')"
                  >近6个月
                </van-radio>
              </van-col>
            </van-row>

2.js

 data() {
    return {
      show: false,
      form: {
        timeSelection: [],
      },
    };
  },



getMouthTime(key) {
      let nowDate = new Date();
      let date = {
        year: nowDate.getFullYear(),
        month: nowDate.getMonth() + 1,
        date: nowDate.getDate(),
        hours: nowDate.getHours(),
        minutes: nowDate.getMinutes(),
      };
      // 当前日期
      let systemDate =
        date.year +
        "-" +
        date.month +
        "-" +
        date.date +
        " " +
        date.hours +
        ":" +
        date.minutes;
      // 计算近期日期时间
      let beforeDate = new Date(nowDate);
      let num = 0;
      if (key === "monthAgo") {
        num = 30;
      } else if (key === "trimesterAgo") {
        num = 90;
      } else if (key === "sixMonthsAgo") {
        num = 180;
      }
      beforeDate.setDate(nowDate.getDate() - num);
      this.systemDateBegin(beforeDate);
      this.form.timeSelection = [this.systemDateBegin(beforeDate), systemDate];
    },
    systemDateBegin(beforeDate) {
      return `${beforeDate.getFullYear()}-${
        beforeDate.getMonth() + 1 < 10
          ? `0${beforeDate.getMonth() + 1}`
          : beforeDate.getMonth() + 1
      }-${beforeDate.getDate()} ${beforeDate.getHours()}:${beforeDate.getMinutes()}`;
    },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值