【组件封装】显示实时时间和星期几·附文字特效

简介: 【组件封装】显示实时时间和星期几·附文字特效

前言


显示当前时间对于一些后台类的项目使用比较频繁,本文将此功能封装起来以便复用。

分别是当前时间和当前时间+星期,可以根据需求直接复制粘贴。

另外,本文还提供了两种比较酷炫的文字展示效果,分别是文字发光和文字流光效果,以提高用户体验。

我用的vue封装的,但是对于react或其他框架同样适用,只需稍作修改即可使用。

1.显示实时时间无星期版


1.1 效果如下:


image.png

1.2 封装的代码如下(适用vue)


<span>{{ nowTime }}</span> //template
data () {
    return {
      nowTime: '',//当前时间
    }
  },
mathod:{
 //显示当前时间(年月日时分秒)
    timeFormate (timeStamp) {
      let year = new Date(timeStamp).getFullYear()
      let month = new Date(timeStamp).getMonth() + 1 < 10 ? "0" + (new     Date(timeStamp).getMonth() + 1) : new Date(timeStamp).getMonth() + 1
      let date = new Date(timeStamp).getDate() < 10 ? "0" + new Date(timeStamp).getDate() : new Date(timeStamp).getDate()
      let hh = new Date(timeStamp).getHours() < 10 ? "0" + new Date(timeStamp).getHours() : new Date(timeStamp).getHours()
      let mm = new Date(timeStamp).getMinutes() < 10 ? "0" + new Date(timeStamp).getMinutes() : new Date(timeStamp).getMinutes()
      let ss = new Date(timeStamp).getSeconds() < 10 ? "0" + new Date(timeStamp).getSeconds() : new Date(timeStamp).getSeconds()
      this.nowTime = year + "年" + month + "月" + date + "日" + " " + hh + ":" + mm + ':' + ss
    },
    nowTimes () {
      this.timeFormate(new Date())
      setInterval(this.nowTimes, 1000)
      this.clear()
    },
    clear () {
      clearInterval(this.nowTimes)
      this.nowTimes = null
    },
},
mounted () {
    this.nowTimes()
  },

2.显示实时时间带星期几


2.1 效果图


image.png

2.2 封装的代码如下(适用vue)


<span>{{ week }}</span>
data () {
    return {
      week: '',// 本周周几
    }
  },
methods:
  // 获取当前系统日期
    getdataTime () {
      let wk = new Date().getDay()
      let yy = new Date().getFullYear()
      let mm = new Date().getMonth() + 1
      let dd = new Date().getDate()
      let weeks = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
      this.week = weeks[wk]
      this.date_show = yy + "年" + mm + "月" + dd + "日"
    },
mounted:
this.getdataTime ()

3.流光效果


image.png

@keyframes text-style-1 {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -100% 0;
  }
}
.text-style-1 {
  font-size: 30px;
  background-image: linear-gradient(to right, red , yellow, green, yellow, red);
  background-clip: text;
  -webkit-background-clip: text;
  background-size: 200% 100%;
  color: transparent;
  animation: text-style-1 2s infinite linear;
}

4.文字发光


image.png

text-shadow: 0 0 10px #01fef4, 0 0 20px #01fef4;
相关文章
|
SQL 存储 NoSQL
SQL vs. NoSQL:如何根据大数据需求选择合适数据库
【4月更文挑战第8天】本文对比分析了SQL与NoSQL数据库在大数据项目中的应用。SQL数据库适合结构化数据、强一致性和复杂事务处理,如金融系统,而NoSQL则适用于半结构化和非结构化数据、高并发及大数据场景,如社交网络。选择时应考虑业务需求、技术栈、团队经验和成本效益,以找到最佳解决方案。随着技术发展,NewSQL和Multi-model数据库也提供了更多选择。
759 0
|
JavaScript 网络协议 前端开发
原淘宝 npm 域名即将停止解析,请切换至新域名(npm无响应)
原淘宝 npm 域名即将停止解析,请切换至新域名(npm无响应)
|
自然语言处理 Java 测试技术
Spring Boot中对自然语言处理工具包hanlp的调用详解
HanLP 是基于 Java开发的 NLP工具包,由一系列模型与算法组成,目标是普及自然语言处理在生产环境中的应用。而且 HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点,因此十分好上手,本文就结合 Spring Boot来将 HanLP用起来!
10998 0
|
Android开发
ConstraintLayout 的使用
ConstraintLayout 的使用
176 1
ConstraintLayout 的使用
|
11月前
|
传感器 监控 物联网
新技术浪潮:物联网与虚拟现实的发展趋势与应用场景###
本文探讨了物联网和虚拟现实技术的发展趋势及其在多个领域的应用场景。物联网通过设备互联和数据驱动,正在改变智能家居、智慧城市和工业自动化等领域。而虚拟现实则以其沉浸式体验和交互性增强,广泛应用于游戏娱乐、教育培训和医疗健康等行业。这两种新兴技术的结合将带来更加智能化和高效的未来社会。 ###
|
关系型数据库 MySQL PHP
开发者必看:MySQL主从复制与Laravel读写分离的完美搭配
开发者必看:MySQL主从复制与Laravel读写分离的完美搭配
204 2
|
前端开发 数据库 Python
Django入门全攻略:从零搭建你的第一个Web项目
Django入门全攻略:从零搭建你的第一个Web项目
|
机器学习/深度学习 JSON 自然语言处理
新一代开源语音库CoQui TTS冲到了GitHub 20.5k Star
新一代开源语音库CoQui TTS冲到了GitHub 20.5k Star
829 0
|
测试技术 网络架构
基于pjsip实现p2p语音对讲
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/voidreturn/article/details/65634390 目的 为实现跨网络的语音对讲,使位于NAT后的两个设备进行p2p的语音通讯,此处选用pjsip开源项目来实现。
3928 0