element-ui 获取时间 时间格式化 默认开始结束时间 时间快捷方式(最近一小时 今天 昨天 最近一周等)

本文介绍了一个基于Element UI的订单时间筛选组件实现,该组件使用了moment.js进行日期时间的格式化处理,提供了丰富的快捷时间选择功能,如最近一小时、今天、昨天、最近一周、最近一个月和最近三个月。

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

          <el-form-item label="下单时间:">
                <el-date-picker
                  v-model="createTime"
                  type="datetimerange"
                  range-separator="至"
                  start-placeholder="开始日期"
                  end-placeholder="结束日期"
                  value-format="yyyy-MM-dd HH:mm:ss" 
                  :default-time="['00:00:00', '23:59:59']"
                  :time-arrow-control="true"
                  :picker-options="pickerOptions"
                  @change="getStime">
                </el-date-picker>
              </el-form-item>

      pickerOptions: {
          shortcuts: [
           {
            text: '最近一个小时',
            onClick(picker) {
              const end = `${moment().subtract(0, 'm').format('YYYY-MM-DD HH:mm:ss')}`
              const start = `${moment().subtract(60, 'm').format('YYYY-MM-DD HH:mm:ss')}`;
              console.log('end:',end ,start);
              picker.$emit('pick', [start, end]);
            }
           }, 
           {
            text: '今天',
            onClick(picker) {
              const end = `${moment().subtract(0, 'days').format('YYYY-MM-DD')} 23:59:59`
              const start = `${moment().subtract(0, 'days').format('YYYY-MM-DD')} 00:00:00`;
              console.log('end:',end ,start);
              picker.$emit('pick', [start, end]);
            }
           }, 
           {
            text: '昨天',
            onClick(picker) {
              const date = new Date();
              const end = `${moment().subtract(1, 'days').format('YYYY-MM-DD')} 23:59:59`
              const start = `${moment().subtract(1, 'days').format('YYYY-MM-DD')} 00:00:00`;
              console.log('end:',end ,start);
              picker.$emit('pick', [start, end]);
            }
          },         
          {
            text: '最近一周',
            onClick(picker) {
              const end = new Date();
              const start = new Date();
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
              picker.$emit('pick', [start, end]);
            }
          }, {
            text: '最近一个月',
            onClick(picker) {
              const end = new Date();
              const start = new Date();
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
              picker.$emit('pick', [start, end]);
            }
          }, {
            text: '最近三个月',
            onClick(picker) {
              const end = new Date();
              const start = new Date();
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
              picker.$emit('pick', [start, end]);
            }
          }]
        },

    getStime(val) {
      if (val) {
        this.createTime = val;
        this.params.ordertimestart = this.createTime[0].toString();
        this.params.ordertimeend = this.createTime[1].toString();
      } else {
        this.params.ordertimestart  = '';
        this.params.ordertimeend = '';
      }
    }

import moment from 'moment'

  created() {

    let oldDate = moment().subtract(3, 'months').format('YYYY-MM-DD') + ' 00:00:00';
    let today = moment().subtract(0, 'days').format('YYYY-MM-DD') + ' 23:59:59' ;
    this.createTime = [
      oldDate , today
    ];

    this.params.ordertimestart = oldDate;
    this.params.ordertimeend = today;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值