elementUi el-date-picker时间控件精确到时分秒

1.时间日期type=datetime

<template><el-date-pickerv-model="time":picker-options="pickerOptions"ref="datetime"type="datetime":default-time="range":disabled="disabled"placeholder="请选择日期时间":format="format":value-format="valueFormat"></el-date-picker>
</template><script>
import dayjs from "dayjs";export default {name: "DateTimePickerRange",props: {range: {type: String,default: dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss") + " - 23:59:59"},disabled: {type: Boolean,default: false},value: {type: String,default: ""},format: {type: String,default: "yyyy-MM-dd HH:mm:ss"},valueFormat: {type: String,default: "yyyy-MM-dd HH:mm:ss"}},computed: {time: {get() {return this.value;},set(newVal) {this.$emit("input", newVal);}}},watch: {time: {handler(newValue) {if (newValue != null && newValue !== "") {if (dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss").split(" ")[0] == newValue.split(" ")[0]) {this.pickerOptions.selectableRange =dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss").split(" ")[1] + " - 23:59:59";} else {this.pickerOptions.selectableRange = "00:00:00 - 23:59:59";}}}}},data() {return {// 在elementUI文档中提供的pickerOptions,这里设置disabledDate限制日期,onPick根据选择的日期进而显示时间pickerOptions: {disabledDate(time) {const dateTime = new Date();const startDateTime = dateTime.setDate(dateTime.getDate() - 1);return time.getTime() < new Date(startDateTime).getTime();},selectableRange: (() => {let date = new Date();let hour = date.getHours();let minute = date.getMinutes();let second = date.getSeconds();return `${hour}:${minute}:${second}` + " - 23:59:59";})()}};}
};
</script>

2.时间日期type=datetimerange

<template><el-date-picker v-model="timeArr" :picker-options="pickerOptions" ref="datetime" type="datetimerange"range-separator="~" start-placeholder="开始时间" end-placeholder="结束时间" format="yyyy-MM-dd HH:mm:ss":default-time="defaultTime" :disabled="disabled" value-format="timestamp"></el-date-picker>
</template><script>
import dayjs from "dayjs";const DateFormat = "YYYY-MM-DD";
const TimeFormat = "HH:mm:ss";
const StartTimeFormat = "00:00:00";
const ENDTimeFormat = "23:59:59";export default {name: "DateTimePickerRange",props: {range: {type: Array,default: () => [dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss'), '23:59:59']},disabled: {type: Boolean,default: false},value: {type: Array,default: () => []}},computed: {timeArr: {get() {return this.value || [];},set(newVal) {this.$emit('input', newVal);}},defaultTime() {return [dayjs(new Date()).format('HH:mm:ss'), '23:59:59'];}},data() {return {startDate: '',startTime: '',// 在elementUI文档中提供的pickerOptions,这里设置disabledDate限制日期,onPick根据选择的日期进而显示时间pickerOptions: {disabledDate: time => {const [start, end] = this.range;const d = new Date(time).getTime();const pickDate = dayjs(time).format(DateFormat);const startDate = dayjs(start).format(DateFormat);const startTime = dayjs(start).format(TimeFormat);const startStamp = new Date(start).getTime();const endStamp = new Date(end).getTime();// 组件(界面)上的日期 和 时间范围中最小的日期  相同时if (pickDate === startDate && startTime !== ENDTimeFormat) {return false;}// 这里不用判断时间范围中最大的日期return d < startStamp || d >= endStamp; // 小于最小日期 或者 大于最大日期},onPick: ({ minDate, maxDate }) => {if (!(minDate && maxDate)) {// 选择完整的日期后,再进入后面的逻辑return;}const picker = this.$refs.datetime && this.$refs.datetime.picker;const { minTimePicker, maxTimePicker } = picker.$refs;const [start, end] = this.range;const pickStartDate = dayjs(minDate).format(DateFormat); // 手动选择的最小日期const pickEndDate = dayjs(maxDate).format(DateFormat); // 手动选择的最大日期// const startDate = dayjs(start).format(DateFormat); // 时间范围this.range,最小日期 年月日// const startTime = dayjs(start).format(TimeFormat); // 时间范围this.range,最小时间 时分秒const startDate = dayjs(new Date()).format(DateFormat); // 时间范围this.range,最小日期 年月日const startTime = dayjs(new Date()).format(TimeFormat); // 时间范围this.range,最小时间 时分秒const endDate = dayjs(end).format(DateFormat); // 时间范围this.range,最大日期 年月日const endTime = dayjs(end).format(TimeFormat); // 时间范围this.range,最大日期 年月日this.startDate = startDate;this.startTime = startTime;// 手动选择的最小日期 等于 时间范围this.range的最小日期,那么需要限制时间范围if (pickStartDate === startDate) {minTimePicker.selectableRange = [[new Date(`${startDate} ${startTime}`),new Date(`${startDate} ${ENDTimeFormat}`)]];} else {// 不相等,则可以选择全部的时间范围,不需要做限制minTimePicker.selectableRange = [];}// 手动选择的最大日期 等于 时间范围this.range的最大日期,那么需要限制时间范围if (pickEndDate === endDate) {maxTimePicker.selectableRange = [[new Date(`${endDate} ${StartTimeFormat}`),new Date(`${endDate} ${endTime}`)]];} else {// 不相等,则可以选择全部的时间范围,不需要做限制maxTimePicker.selectableRange = [];}}}};},
};
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/820837.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 定时任务实现教程

前言 在实际开发过程中&#xff0c;我们经常需要处理一些周期性或定时执行的任务&#xff0c;如数据备份、报表生成、邮件发送等。Spring Boot通过集成Quartz或使用Spring自带的Scheduled注解可以方便地实现定时任务功能。本文将详细介绍如何在Spring Boot项目中使用Scheduled…

【数据结构】遍历二叉树(递归和非递归遍历的先序、中序和后序遍历、层次遍历法)

目录 【数据结构】遍历二叉树&#xff08;递归和非递归遍历的先序、中序和后序遍历、层次遍历法&#xff09;一、递归算法先&#xff08;根&#xff09;序的遍历算法中&#xff08;根&#xff09;序的遍历算法后&#xff08;根&#xff09;序的遍历算法 二、非递归算法层次遍历…

存储器管理

01.存储器的层次结构&#xff1a;计算机在执行指令时&#xff0c;几乎每条指令都会涉及对存储器的访问&#xff0c;因此要求计算机对存储器的访问速度能跟得上处理机的运行速度&#xff0c;在现代计算机系统中&#xff0c;都采用了多层结构的存储器。至少应该有三层&#xff1a…

【漏洞复现】浙大恩特客户资源管理系统 i0004_openFileByStream.jsp 任意文件读取漏洞

0x01 产品简介 浙大恩特客户资源管理系统是一款外贸管理软件&#xff0c;它提供了多种功能&#xff0c;包括客户档案管理、邮件管理、OA外贸办公管理系统、分管权限管理、联系跟进及提醒、业务检查管理、统计分析管理等。 0x02 漏洞概述 浙大恩特客户资源管理系统存在任意文件…

ENSP-旁挂式AC

提醒&#xff1a;如果AC不能成功上线AP&#xff0c;一般问题不会出在AC上&#xff0c;优先关注AC-AP线路上的二层或三层组网的三层交换机 拓扑图 管理VLAN&#xff1a;99 | 业务VLAN&#xff1a;100 注意点&#xff1a; 1.连接AP的接口需要打上pvid为管理vlan的标签 2.AC和…

通用视觉大模型调研

humanbench HumanBench: Towards General Human-centric Perception with Projector Assisted Pretraining&#xff1b;为了解决不同任务之间的conflict以及不同dataset之间的差异(相同任务)&#xff0c;提出PATH&#xff0c;backbone是所有任务共享、projector是任务级别共享…

一个开源的全自动视频生成软件MoneyPrinterTurbo

只需提供一个视频 主题 或 关键词 &#xff0c;就可以全自动生成视频文案、视频素材、视频字幕、视频背景音乐&#xff0c;然后合成一个高清的短视频。 一&#xff1a;功能特性 完整的 MVC架构&#xff0c;代码 结构清晰&#xff0c;易于维护&#xff0c;支持 API 和 Web界面…

【面试亮点】线上GC问题排查止损解决 (heap space OutOfMemory排查止损解决)

【面试亮点】线上GC问题排查&止损&解决(heap space OOM排查&止损&解决) 许多同学总和我抱怨说面试的时候没有线上实际排查解决gc问题的经验,我这里分享我团队的一次比较好的从 发现问题->及时止损->排查问题->修复问题->复盘 全流程的实践经验,希…

DOS命令第二篇

雷迪斯and the乡亲们 欢迎你们来到 奇幻的编程世界 一、echo命令 作用&#xff1a; 输出一个内容到终端 格式&#xff1a; echo 要输出的内容 案例&#xff1a; 直接输出一个“你好” 二、ping 概念&#xff1a; 在网络中通信的时候&#xff0c;主机之间进行通信依靠…

转行或者跳槽入职一家新公司,应该如何快速上手工作?

不管是干测试也好或者其它任何职业&#xff0c;没有谁会在一家公司待一辈子&#xff0c;转行不一定&#xff0c;但是跳槽是每一个打工人早晚都会面临的事情&#xff0c;今天就来跟大家聊聊这件事~ 入职一家新公司&#xff0c;你应该做什么可以最快速的上手工作&#xff1f; 这…

App Inventor 2 如何预览PDF文档?

预览PDF文档的方式 你可以使用Activity启动器查看已存储在你的设备上的 pdf 文档&#xff0c;也可以使用Web客户端通过网址URL打开 pdf 文档。 App Inventor 2 可以使用 .pdf 扩展名从程序包资产中查看 pdf 文件&#xff0c;不再需要外部 pdf 查看器&#xff01; 代码如下&a…

车载摄像头畸变校正解决方案,打造无畸变高清视界

在车载摄像头日益普及的今天&#xff0c;摄像头图像的畸变问题成为了制约图像质量提升的一大瓶颈。畸变不仅影响画面的美观度&#xff0c;更关键的是它可能导致智能驾驶系统对环境的误判&#xff0c;进而威胁到行车安全。美摄科技凭借其在图像处理领域的深厚实力&#xff0c;推…

redis清理缓存接口开发

文章目录 1 用户注册1.1 简要描述1.2 请求URL1.3 请求方式1.4 参数1.5 返回示例1.6 返回参数说明1.7 备注 2 用户登录2.1 简要描述2.2 请求URL2.3 请求方式2.4 参数2.5 返回示例2.6 返回参数说明2.7 备注 3 权限校验3.1 简要描述3.2 请求URL3.3 请求方式3.4 参数3.5 返回示例3.…

leetcode刷题(python)——(一)

01.01.04 练习题目&#xff08;第 01 天&#xff09; 1. 2235. 两整数相加 1.1 题目大意 描述&#xff1a;给定两个整数 n u m 1 num1 num1 和 n u m 2 num2 num2。 要求&#xff1a;返回这两个整数的和。 说明&#xff1a; − 100 ≤ n u m 1 , n u m 2 ≤ 100 -100 \l…

中东跨境电商平台Noon注册开店步骤详解

中东地区&#xff0c;素以“满地富豪”闻名&#xff0c;同时拥有发达的电子商务环境与较高的居民消费水平&#xff0c;吸引了大量跨境电商从业者前来寻求商机。其中&#xff0c;Noon作为中东地区颇具人气的电商平台&#xff0c;自然而然成为了众多卖家开拓中东市场的首选平台。…

普通类的成员函数模板

4-4普通类的成员函数模板、类模板的成员函数模板、&#xff08;c11&#xff09;模板显式实例化&#xff0c;模板声明_普通类的模板函数能否为虚函数-CSDN博客 实例&#xff1a; #include <QApplication> #include <QDebug> struct user_inform {QString user_name;…

牛客 接头密匙

Problem: 牛客 接头密匙 文章目录 思路解题方法复杂度Code 思路 这个问题可以通过使用前缀树&#xff08;Trie&#xff09;来解决。前缀树是一种用于存储字符串的数据结构&#xff0c;其中每个节点代表一个字符串的前缀。在这个问题中&#xff0c;我们可以使用前缀树来存储数组…

Flex布局(秒懂弹性盒子的使用)

目录 一、Flex介绍 1.概念 主要概念&#xff1a; 2.Flex容器属性 3.Flex项目属性 4.优势 二、Flex使用 1.弹性盒子内容 2.flex-direction 语法 3.justify-content 属性 4.align-items 属性 语法 5.flex-wrap 属性 语法&#xff1a; 6.align-content 属性 语法&am…

在 Google Colab 中安装torch-xla 报错

关于深度学习的一些学习框架,我使用过pytorch,caffe,caffe2,openchatkit,oneflow等,最近我将长达几十万字的报错手册重新进行了整理,制作出一个新的专栏,主要记录这几种常见的开发框架在安装和使用过程中常见的报错,以及我是如何解决掉的,以此来帮助更多的深度学习开…

jetson系列开发板使用虚拟机烧录系统时,遇见无法识别开发板的情况

在双系统中的ubuntu系统烧录没问题&#xff0c;但是电脑Ubuntu系统由于版本低&#xff0c;所以没有网络&#xff0c;烧录起来还的连网线&#xff0c;所以问了开发板的工程师&#xff0c;所幸&#xff0c;解决了问题&#xff0c;很感谢工程师的指导&#xff0c;特此记录一下&…