位置: IT常识 - 正文

element-UI组件之日期时间选择器与时间格式转化(element_ui)

编辑:rootadmin
element-UI组件之日期时间选择器与时间格式转化 element-UI组件之日期时间选择器与时间格式转化日期选择器与时间选择器的一般使用日期时间选择器选择日期时间点选择日期范围日期选择器月份范围选择器禁选日期用time.getTime()进行日期(时间)格式的转换时间选择器el-time-select选择固定时间点el-time-picker选择任意时间点禁选时间==>>可选时间段时间格式转换跟时间有关的函数获取当前时间区时格式时间转化为时间戳区时格式时间转化为一般时间格式方法一,分别获取年月日时分秒,然后拼接方法二,用`.toLocaleString()`方法转化时间戳转化为一般时间格式选择器返回的时间格式与转换方法在什么时候需要注意使用格式转换日期选择器与时间选择器的一般使用

推荐整理分享element-UI组件之日期时间选择器与时间格式转化(element_ui),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:element ui常用组件,element ui常用组件,elements组件,element ui组件,vue element组件,elementui组件有哪些,element ui组件,element ui组件,内容如对您有帮助,希望把文章链接给更多的朋友!

element-ui中关于时间选择的组件一共有三个,时间选择器、日期选择器以及时间日期选择器,即可选择时间,可选择日期以及日期和时间都能选择。

日期时间选择器

先看element-ui的日期时间选择器组件能满足哪些功能需求,官网地址为element-ui日期时间选择器:https://element.eleme.cn/#/zh-CN/component/datetime-picker 顾名思义,日期时间选择器就是即可以选择日期也可以选择时间的组件。 选择日期时间上,有选择时间点和时间段两种功能,通过修改type属性值实现:

选择日期时间点

<el-date-picker v-model="value2" type="datetime" placeholder="选择日期时间" align="right" :picker-options="pickerOptions"> </el-date-picker> <!--:picker-options="pickerOptions"中是快捷键时间选择 type值为datetime,type="datetime"-->

其中type值为datetime,type=“datetime” :picker-options="pickerOptions"中是快捷键时间选择,如下:

export default { data() { return { pickerOptions: { shortcuts: [{ text: '今天', onClick(picker) { picker.$emit('pick', new Date()); } }, { text: '昨天', onClick(picker) { const date = new Date(); date.setTime(date.getTime() - 3600 * 1000 * 24); picker.$emit('pick', date); } }, { text: '一周前', onClick(picker) { const date = new Date(); date.setTime(date.getTime() - 3600 * 1000 * 24 * 7); picker.$emit('pick', date); } }] },}}选择日期范围

<el-date-picker v-model="value1" type="datetimerange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"> </el-date-picker><!--此时间范围选择器的组件type属性为"datetimerange"-->日期选择器

日期选择器:https://element.eleme.cn/#/zh-CN/component/date-picker 日期选择器组件的标签也是<el-date-picker></el-date-picker>,所以它们的type属性可选值也相同,有:year/month/date/dates/ week/datetime/datetimerange/ daterange/monthrange , 其中如果是带有range的值,则表示用来选择某种时间范围。如令type=monthrange,使用月份范围选择器:

月份范围选择器

el-date-picker还有一个常用的功能是日期禁用的属性disabledDate,当待选的日期范围给定,或者最常见的,只能选择超过当前的日期或者只能选择当前日期之前的日期

禁选日期

如图所示,是禁用超过当前的日期, 页面组件代码如下:

<el-date-picker v-model="value2" align="right" type="date" placeholder="选择日期" :picker-options="pickerOptions"> </el-date-picker>

日期禁用是写在:picker-options="pickerOptions"的pickerOptions中,它是一个对象,如下:

pickerOptions: { disabledDate(time) { return time.getTime() > Date.now(); }, },}} // 其中Date.now()命令获取的是当前时间。time.getTime()用于转换时间为时间戳格式用time.getTime()进行日期(时间)格式的转换

其中Date.now()命令获取的是当前时间。time.getTime()用于将区时转换时间为时间戳格式。例如,我们在disabledDate()函数中增加打印time的命令: console.log('time=', time) ,如下

pickerOptions: { disabledDate (time) { console.log('time=', time) return time.getTime() > Date.now() } },

打印内容如下图所示,是每个日期的区时格式,时间都是00:00,为当天凌晨开始时间。 关于日期时间的格式,一共有三种, 时间戳(一个数字,表示从1970年1月1日0点到该时间点的毫秒数,单位是好眠)、 区时(如上图片中所打印的格式)以及 一般时间格式(日期之间短横相连,时分秒之间冒号隔开,中间空格分隔,如 2022-11-11 11:11:11) 在第二章再详细说明选择器选择的时间的格式,以及让它们相互转化的命令。

时间选择器

日期时间选择器和日期选择器组件的标签都使用el-date-picker,但时间选择器则有两种标签,来满足两种共囊。一个是el-time-select,选择固定时间点;一个是el-time-picker,选择任意时间点。

el-time-select选择固定时间点element-UI组件之日期时间选择器与时间格式转化(element_ui)

<el-time-select v-model="value" :picker-options="{ start: '08:30', step: '00:15', end: '18:30' }" placeholder="选择时间"></el-time-select><!--在picker-options中,确定开始时间start,结束时间end,以及步长step-->

el-time-select标签,在picker-options中,确定开始时间start,结束时间end,以及步长step。

el-time-picker选择任意时间点

<el-time-picker v-model="value2" :picker-options="{ selectableRange: '18:30:00 - 20:30:00' }" placeholder="任意时间点"> </el-time-picker>

有时会增加arrow-control属性,则选择框是另外的带有箭头的样式:

禁选时间==>>可选时间段

在el-date-picker中,用disabledDate确定禁选时间,剩余的时间为可选时间。而在时间选择器中,则用可选时间段selectableRange来限制可选项。

<el-time-picker v-model="value2" :picker-options="{ selectableRange: '18:30:00 - 20:30:00' }" placeholder="任意时间点"> </el-time-picker>

代码与上一小节中el-time-picker选择任意时间点的组件代码相同,这里重点看:picker-options=后面的内容。

时间格式转换跟时间有关的函数获取当前时间

获取当前时间时间戳 let timestamp=Date.now()=>1663294789451 获取当前时间区时格式 let nowDate=new Date()=>Fri Sep 16 2022 10:15:50 GMT+0800 (中国标准时间) 同时注意nowDate的格式。它是一个Date 对象,我们在浏览器的控制台中输入命令let nowDate=new Date(),然后打印nowDate。打印结果是字符串,但nowDate并不是字符串格式。在控制台中输入命令nowDate.__proto__,可以得到完整的nowDate内容,它是一个函数(可以简单理解成一种对象),操作示意图如下所示: 【对.__proto__感兴趣的小伙伴可以参考博文帮你彻底搞懂JS中的prototype、__proto__与constructor(图解),但不管说的怎么天花乱坠,我们的最开始的目标都是知道什么命令打印出什么内容,什么指令产生什么结果就行】

区时格式时间转化为时间戳

时间戳的格式为Number 使用命令nowDate.getTime() =>1663294550451

区时格式时间转化为一般时间格式

转化的时候一般就是使用区时格式中带的函数,包括.getTime()也是区时格式所带的函数。 而转化为区时格式则有多种方法:

方法一,分别获取年月日时分秒,然后拼接let date = {year: nowDate.getFullYear(),month: nowDate.getMonth() + 1,date: nowDate.getDate(),hour: nowDate.getHours(),minute: nowDate.getMinutes(),second: nowDate.getSeconds()}this.systemTime = date.year + '-' + date.month + '-' + date.date+ ' ' +date.hour+':'+date.minute+':'+date.second

方法二,用.toLocaleString()方法转化

nowDate.toLocaleString()=>‘2022/9/16 10:15:50’ 用.replace()将斜杠换成短横 nowDate.toLocaleString().replace(/[/]+/g,'-')=>‘‘2022-9-16 10:15:50’’ 【.replace(/[/]+/g,'-')括号中为使用通配符模糊搜索,其中g表示使用全局搜索。对js通配符模糊搜索感兴趣的小伙伴可以先关注我等后续更新】

时间戳转化为一般时间格式

时间戳转化为一般时间格式如’2022-9-16 10:11:11’,有其他框架时可以用框架下的方法,如uView框架下的js方法this.$u.timeFormat(e.timestamp,'yyyy-mm-dd HH:MM:ss')。 一般情况下,我们则需要借助Date()方法,先将时间戳转化为区时格式,然后用区时转化为一般格式。

new Date(parseInt(timestamp)).toLocaleString().replace(/[/]+/g,'-')//parseInt()方法将字符串转换为数字//'2022-9-16 13:50:42'

选择器返回的时间格式与转换方法

日期时间类选择器,除了el-time-select,都有属性value-format来限制返回的值的格式,在没有指定的情况下,返回的值都是Date对象形式。时间格式字符描述:https://element.eleme.cn/#/zh-CN/component/date-picker#ri-qi-ge-shi 如下图所示,当value-format未指定,el-date-picker中选择日期时间后返回的值value2与el-time-picker中选择时间返回的值value1的打印结果。 时间格式指定后代码如下

<el-date-picker v-model="value2" align="right" type="datetime" placeholder="选择日期" :picker-options="pickerOptions" @blur="printValue" value-format="yyyy-MM-dd HH:mm:ss" > </el-date-picker> <el-time-picker v-model="value1" :picker-options="{ selectableRange: '18:30:00 - 20:30:00', }" @blur="printValue" placeholder="任意时间点" value-format="HH:mm:ss" > </el-time-picker>

修改返回值格式之后,打印得到的选择日期后得到的返回值value1与value2。

在什么时候需要注意使用格式转换

比较时间一般都通过时间戳相减的方法,但如果要将数据提交到后台或其他显示,则通常使用如’2022-09-16 10:11:11’的格式。 如前面提到的带快捷键的日期时间选择器

pickerOptions: { shortcuts: [{ text: '今天', onClick(picker) { picker.$emit('pick', new Date()); } }, { text: '昨天', onClick(picker) { const date = new Date(); date.setTime(date.getTime() - 3600 * 1000 * 24); picker.$emit('pick', date); } }, { text: '一周前', onClick(picker) { const date = new Date(); date.setTime(date.getTime() - 3600 * 1000 * 24 * 7); picker.$emit('pick', date); } }] },

它在pickerOptions中写了shorcut属性,在属性的onClick()函数中计算了距离当前一周或一天的时间 date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)。 而如果要在页面上显示距离当前一周的时间,则需要将这个时间转化为一般时间格式。 获取当前时间时间戳—>做时间戳计算—>将计算后的时间戳转为一般格式(参考时间戳转为一般格式小节)

本文链接地址:https://www.jiuchutong.com/zhishi/283654.html 转载请保留说明!

上一篇:一叶兰的养殖方法(一叶兰的养殖方法和注意事项有哪些)

下一篇:不符合Win11硬件标准如何照样升级Win11?(不符合win11硬件要求安装会怎么样)

  • 荣耀70怎么设置返回键(荣耀70怎么设置24小时制)

    荣耀70怎么设置返回键(荣耀70怎么设置24小时制)

  • iqooz5x怎么恢复出厂设置

    iqooz5x怎么恢复出厂设置

  • 荣耀X30i是双扬声器吗(荣耀x30i测评)

    荣耀X30i是双扬声器吗(荣耀x30i测评)

  • 华为p40是否是5g全网通手机(华为p40是不是都是5g手机)

    华为p40是否是5g全网通手机(华为p40是不是都是5g手机)

  • 华为荣耀8x手机多大尺寸(华为荣耀8x手机u盘在哪里打开)

    华为荣耀8x手机多大尺寸(华为荣耀8x手机u盘在哪里打开)

  • 拉卡拉错误代码00001(拉卡拉错误代码97什么意思)

    拉卡拉错误代码00001(拉卡拉错误代码97什么意思)

  • 微信接收消息的声音在哪里调(微信接收消息的声音怎么关闭)

    微信接收消息的声音在哪里调(微信接收消息的声音怎么关闭)

  • 固态硬盘hdd什么意思(固态硬盘显示hdd)

    固态硬盘hdd什么意思(固态硬盘显示hdd)

  • 苹果为什么插双卡网络很慢(苹果双卡为什么)

    苹果为什么插双卡网络很慢(苹果双卡为什么)

  • 闲鱼举报人会被看见吗(闲鱼举报人后会被他本人发现吗)

    闲鱼举报人会被看见吗(闲鱼举报人后会被他本人发现吗)

  • 手机断触什么意思(手机出现断触)

    手机断触什么意思(手机出现断触)

  • 手机后面的三个摄像头怎么用(手机后面的三个摄像头分别有什么用)

    手机后面的三个摄像头怎么用(手机后面的三个摄像头分别有什么用)

  • 华为p30p怎么无线充电(华为p30无wifi)

    华为p30p怎么无线充电(华为p30无wifi)

  • 微信有夜间模式吗(微信有夜间模式吗安卓)

    微信有夜间模式吗(微信有夜间模式吗安卓)

  • ppt支持mp4格式的视频吗(ppt支持mp4吗)

    ppt支持mp4格式的视频吗(ppt支持mp4吗)

  • 机械键盘串键怎么处理(机械键盘数字键串键)

    机械键盘串键怎么处理(机械键盘数字键串键)

  • 手机为什么不能上网(手机为什么不能投屏到电视机上)

    手机为什么不能上网(手机为什么不能投屏到电视机上)

  • 不拉黑不删除怎么隐藏微信好友(不拉黑不删除怎么不接收消息)

    不拉黑不删除怎么隐藏微信好友(不拉黑不删除怎么不接收消息)

  • 小米6什么时候更新miui11稳定版(小米6什么时候出的上市的)

    小米6什么时候更新miui11稳定版(小米6什么时候出的上市的)

  • 小米手机后盖怎么打开(小米手机后盖怎么换)

    小米手机后盖怎么打开(小米手机后盖怎么换)

  • 荣耀手环与小米手环对比(荣耀手环与小米手环精度那个好)

    荣耀手环与小米手环对比(荣耀手环与小米手环精度那个好)

  • 华为黑屏唤醒功能在哪(华为黑屏唤醒功能)

    华为黑屏唤醒功能在哪(华为黑屏唤醒功能)

  • 火车票侯补是什么意思(火车票查询)

    火车票侯补是什么意思(火车票查询)

  • 取消淘宝网淘宝人生(淘宝里怎么取消)

    取消淘宝网淘宝人生(淘宝里怎么取消)

  • 手机爱奇艺怎么去广告(手机爱奇艺怎么投屏到电脑上)

    手机爱奇艺怎么去广告(手机爱奇艺怎么投屏到电脑上)

  • 电脑如何设置锁屏时间(电脑如何设置锁定)

    电脑如何设置锁屏时间(电脑如何设置锁定)

  • iphone xs如何强制重启(iphonexs如何强制关机重启)

    iphone xs如何强制重启(iphonexs如何强制关机重启)

  • 【AI大比拼】文心一言 VS ChatGPT-4

    【AI大比拼】文心一言 VS ChatGPT-4

  • 房产等价置换是否需要缴纳契税?
  • 股东如何收回投资
  • 退回以前年度费用怎么做帐
  • 什么情况需要预缴增值税
  • 怎么查企业适用哪个会计制度教学视频
  • 出口未报关收到外汇怎样处理
  • 红字发票信息表编号在哪里看
  • 其他应收款有哪些情况
  • 非现金资产债务怎么算
  • 无形资产的累计摊销是什么意思
  • 善意取得增值税专用发票如何处理
  • 注册资本没有到账怎么做账
  • 装修计入固定资产
  • 营改增典型案例
  • 个人股权转让申报表
  • 退税记录显示税务审核中
  • 福利费专票进项抵扣转出怎么做账
  • 认缴出资未缴纳公司可以减资吗
  • 原材料因管理不善被盗的会计分录
  • 坏账核销的依据
  • 苹果电脑重新安装系统磁盘锁了怎么办
  • 税盘没反应
  • 预付账款属于资产性质的账户
  • 生产型企业公司有哪些
  • win11无法安装程序包
  • 铁杆茉莉的养殖方法
  • php get post
  • 转账支票出账日期
  • PHP:diskfreespace()的用法_Filesystem函数
  • zend framework手册
  • /locate village村庄
  • 爱德华王子岛的气候
  • 前端播放视频的插件
  • 挂靠设计公司费用标准 怎么记账
  • 在报税显示缺少税种信息
  • vue基础知识
  • mtd命令
  • discuz 移动端
  • 发票去税务局认证了就可以直接抵扣了吗
  • 长期股权投资成本怎么计算
  • 为什么营业成本比营业收入大的时候没有计提减值准备呢
  • python中模块的概念
  • 建筑工程承包合同
  • 电子商业汇票是指
  • 鲜花虫草开发票属于什么类别?
  • sql将一个表中的值赋给另一个表
  • 保税仓发货的商品退货要承担税吗
  • 支付的物业费如何做账
  • 预付账款和应付账款的区别与联系
  • 房屋租赁合同印花税的税率
  • 工会经费计提的比例是多少
  • 投资性房地产是固定资产吗
  • win7系统桌面图标设置
  • win10系统迅雷
  • windows vista(service pack1)
  • win8系统怎么创建局域网
  • win8系统如何关闭杀毒系统
  • windowsxp优化教程
  • win10系统下如何安装谷歌浏览器插件?win10系统下谷歌浏览器插件的安装方法图文教程
  • Linux系统怎么设置窗口关闭按键在右侧
  • windows7的安装步骤
  • vr moke
  • javascript创建对象
  • extjs3 combobox取value和text案例详解
  • css划动
  • 复制链接
  • fragment detach
  • nodejs的组成
  • JavaScript中的NaN代表什么
  • python解析excel文档
  • python获取linux磁盘信息
  • 闽政通城乡居民养老保险认证
  • 电子税务局校验码
  • 税控盘如何分配发票
  • 耕地占用税林地有减免吗
  • 税率的分类有哪些
  • 车辆购置税查询怎么查
  • 简述纳税人与负税的区别
  • 讨论如何做好寺庙管理服务工作
  • 深圳代理记账公司赚钱吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设