首页 > 其他分享 >el-date-picker设置起止时间间隔与setDate方法

el-date-picker设置起止时间间隔与setDate方法

时间:2024-11-06 10:48:18浏览次数:3  
标签:picker el 30 Date 日期 date new setDate

背景

在对时间进行选择时,可能会因为选择的时间范围过大,导致数据量过大从而造成性能和视觉上的体验不佳。解决这个问题,设置可选择的时间的最大间隔,并且在超过间隔时将结束时间改为范围内的日期。

解决方法

步骤

1.将日期字符串转化为Date对象,计算起止时间的时间差(此例子中为31天)

2.注意:单位是毫秒,记得切换为天数

3.如果超出最大天数,则将结束时间设置为起始时间+30天

易错点

setDate对自身进行更改,如果按照以下写法,就会改变date[0]的值,应该首先对date[1]赋值,再进行setDate操作。


   date[1]=date[0].setDate(date[0].getDate() + 30);

示例代码

 // 选取日期后赋给 form 对应属性名
    setDateRange(date, model1, model2) {
      if (date) {
        //设置最多选择31天
        // 将日期字符串转换为 Date 对象
        let date1 = new Date(date[0]);
        let date2 = new Date(date[1]);
        // 计算时间差,单位为毫秒
        let timeDiff = date2 - date1;
        // 将毫秒转换为天数
        let daysDiff = timeDiff / (1000 * 3600 * 24);
        console.log(`时间差为:${daysDiff} 天`);
        if (daysDiff > 30) {
         this.$message.error("起止时间间隔不大于31天!");
         // 设置结束时间为起始时间 + 30 天
         date[1] = new Date(date[0]);
         date[1].setDate(date[0].getDate() + 30);
        }
        this.formData[model1] = fecha.format(new Date(date[0]), 'yyyy-MM-dd HH:mm:ss');
        this.formData[model2] = fecha.format(new Date(date[1]), 'yyyy-MM-dd HH:mm:ss');
      } else {
        this.formData[model1] = ""
        this.formData[model2] = ""
      }

    },

setDate

是 JavaScript Date 对象的方法之一,用于设置一个 Date 实例的日期部分。它接受一个数字作为参数,表示要设置的日期。它会基于当前 Date 对象的其他部分(例如月份、年份)修改日期。

语法

date.setDate(day);

标签:picker,el,30,Date,日期,date,new,setDate
From: https://blog.csdn.net/weixin_50682193/article/details/143563679

相关文章

  • helm 依赖问题处理
    在Helm中处理服务依赖顺序问题,通常涉及到在Chart文件中定义正确的依赖关系以及利用Kubernetes的特性来确保服务按顺序启动。下面是一些方法和最佳实践,可以帮助你解决服务依赖顺序问题:###1.使用`dependencies`在`Chart.yaml`中定义依赖如果你的HelmChart依赖于......
  • 关于 IntelliJ IDEA 2024 安装激活教程(亲测有效~)
    第一步速度慢的点击这里进行下载第二步点击xx关掉程序!第三步点击获取补丁文件打开标注的文件注意:以后这个文件夹不要动点击进入/scripts点击【确定】按钮后,过程大概5-30秒,如看到弹框提示Done时,表示成功完成,之后打开idea输入6G5NXCPJZB-eyJsaWNlbnN......
  • 7.10 已知一组观测数据,如表中7.17.excel(表中第一列为x的值,第二列为y的值)。试用插值方
    importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltfromscipy.interpolateimportinterp1d,PchipInterpolator,CubicSplinefromscipy.optimizeimportcurve_fitfromscipy.statsimportnormfile_path='7.17.xlsx'data=pd.rea......
  • Molecular & Cellular Biomechanics
    @目录一、征稿简介二、重要信息三、服务简述四、投稿须知一、征稿简介二、重要信息期刊官网:https://ais.cn/u/3eEJNv三、服务简述主要涉及生物力学领域,包括生物分子、细胞、组织和器官的力学研究。四、投稿须知1.在线投稿:由艾思科蓝支持在线投稿,请将文章全文投稿至艾思......
  • El表达式&jstl
    JSP是一种用于创建动态网页的Java技术。EL(表达式和JSTL是JSP中常用的扩展,用于简化页面开发和增强功能。JSPJSP允许开发者将Java代码嵌入到HTML页面中,以生成动态内容。JSP页面最终会被转换为Servlet并执行。基本语法:<%...%>:用于嵌入Java代码。<%=...%>:用......
  • 什么是pipeline?
    一、概念    pipeline,中文名称又称为管线、传输途径,直译起来有点蹩脚,我们可以理解成它就是一个把各个工具串起来的一个流水线。这里,我们常见的主要有两类pipeline,一类是sklearn中的pipeline,一类是Transformers库中的pipeline。二、sklearn中的pipeline      ......
  • 操作Excel
    EasyExcel导入导出是阿里巴巴开源的一个Excel处理工具,专门用于简化Excel文件的读写操作。1、添加Maven依赖<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.2.0</version><!--使用最新版本......