uniapp,实时获取系统时间(动态显示)

在开发中,如果涉及到时间有关的,有可能需要把系统的时间以动态的形式展示出来。

一、页面效果

后面的秒钟是会变的,一秒改变一下,也就是说这个就是与系统时间一致的。

二、思路

我们通过new date对象,获取系统的时间,逐个获取年、月、日、时、分、秒,然后再通过字符的处理,将他们格式化为我们需要的样式。然后开启一个定时器,每一秒执行一次就可以了。

三、实现代码

html 复制代码
<template>
  <!-- 现在的时间 -->
  <view class="container">
    <view class="time-img">
      <image src="/static/image/index_pages/now.png" mode=""></image>
    </view>
    <view class="time">
      {{time}}
    </view>
  </view>
</template>

<script>
  export default {
    name: "nowTime",
    data() {
      return {
      time:''
      };
    },
    mounted() {
      var timer = setInterval(() => {
        this.getNowTime()
      },1000)
    },
    // 组件销毁时关闭定时器
    beforeDestroy() {
      clearInterval(timer)
    },
    methods: {
      //获取当前时间
      getNowTime() {
        var date = new Date();
        //年 getFullYear():四位数字返回年份
        var year = date.getFullYear(); //getFullYear()代替getYear()
        //月 getMonth():0 ~ 11
        var month = date.getMonth() + 1;
        //日 getDate():(1 ~ 31)
        var day = date.getDate();
        //时 getHours():(0 ~ 23)
        var hour = date.getHours();
        //分 getMinutes(): (0 ~ 59)
        var minute = date.getMinutes();
        //秒 getSeconds():(0 ~ 59)
        var second = date.getSeconds();
        var time = year + '-' + this.addZero(month) + '-' + this.addZero(day) + ' ' + this.addZero(hour) + ":" +this.addZero(minute) + ':' + this.addZero(second);
            this.time = time
        },
        //小于10的拼接上0字符串
        addZero(s) {
            return s < 10 ? ('0' + s) : s;
        },
      }
    }
</script>

<style scoped>
  .container {
    width: 702rpx;
    height: 84rpx;
    border: 1rpx solid #fff;
    border-radius: 20rpx;
    display: flex;
    align-items: center;
    background-color: #DAFDE6;
  }

  .time-img {
    width: 64rpx;
    height: 112rpx;
  }

  .time-img image {
    width: 100%;
    height: 100%;
    margin-top: -10px;
    margin-left: 28rpx;
  }

  .time {
    margin-left: 56rpx;
    color: #02A53C;
    font-size: 30rpx;
    font-weight: 500;
  }
</style>

代码比较简短,都可以看得懂的,不需多言,或者之前拿去使用就可以了!

相关推荐
xixingzhe28 分钟前
Nginx 看懂请求耗时瓶颈
服务器·前端·nginx
Lank_M8 分钟前
前端AVIF编码方案评审,九个想当然逐个实测
前端
Highcharts.js15 分钟前
AI图表开发工具Highcharts Assist|自然语言生成图表代码
javascript·人工智能·highcharts·开发神器
程序员鱼皮16 分钟前
我用 REA 逆向了付费颜色 APP,结果很意外!
前端
志尊宝31 分钟前
Vue3 零基础每日笔记(087):Vue3 高频面试题(下)
前端·javascript·vue.js·笔记·ecmascript·#vue.js
pusheng20251 小时前
普晟传感再获“消防产业核心配套优质品牌”:以可靠传感技术,让全球合规变简单
大数据·前端·人工智能·物联网·安全
Java后端的Ai之路1 小时前
15_ReactJS_Flux_简介
前端·react.js·前端框架
定栓2 小时前
Webpack迁到Vite第五节:第三方库兼容
前端·webpack·node.js
NGINX开源社区2 小时前
与我们交流:NGINX Gateway Fabric 与 NGINX Ingress Controller 社区会议
java·服务器·前端
ShineWinsu2 小时前
对于CSS:弹性布局(Flexbox)的解析
前端·css·面试·浏览器·web·网页·弹性布局