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

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

前言


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

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

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

我用的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;
相关文章
SwiftUI—方便用户选择日期的DatePicker日期拾取器
SwiftUI—方便用户选择日期的DatePicker日期拾取器
1591 0
SwiftUI—方便用户选择日期的DatePicker日期拾取器
|
15天前
|
前端开发
【前端web入门第五天】03 清除默认样式与外边距问题【附综合案例产品卡片与新闻列表】
本文档详细介绍了CSS中清除默认样式的方法,包括清除内外边距、列表项目符号等;探讨了外边距的合并与塌陷问题及其解决策略;讲解了行内元素垂直边距的处理技巧;并介绍了圆角与盒子阴影效果的实现方法。最后通过产品卡片和新闻列表两个综合案例,展示了所学知识的实际应用。
27 11
|
2月前
|
Python
用Python制作动态钟表:实时显示时间的动画
用Python制作动态钟表:实时显示时间的动画
23 0
|
3月前
|
存储 JavaScript 前端开发
vue3获取本地的当前时间转化为年月日显示然后计算之后一周的时间
vue3获取本地的当前时间转化为年月日显示然后计算之后一周的时间
|
4月前
【qt】一次性讲清楚日期和时间2
【qt】一次性讲清楚日期和时间
31 0
|
4月前
【qt】一次性讲清楚日期和时间1
【qt】一次性讲清楚日期和时间
52 0
|
4月前
左右可以滑动半年的超级日历,支持日历部分收起和自动重定向为北京时间
左右可以滑动半年的超级日历,支持日历部分收起和自动重定向为北京时间
33 0
|
4月前
|
API Linux
【鸿蒙软件开发】ArkTS基础组件之TextTimer(文本显示计时)、TimePicker(时间选择)
【鸿蒙软件开发】ArkTS基础组件之TextTimer(文本显示计时)、TimePicker(时间选择)
571 0
【鸿蒙软件开发】ArkTS基础组件之TextTimer(文本显示计时)、TimePicker(时间选择)
|
4月前
|
JavaScript
vue 钟表功能:动态显示实时时间(时间格式化插件dayjs)
vue 钟表功能:动态显示实时时间(时间格式化插件dayjs)
271 0
|
9月前
宜搭如何将组件的标题根据日期组件的日期动态变化?
宜搭如何将组件的标题根据日期组件的日期动态变化?
105 1