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>

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

相关推荐
lexiangqicheng几秒前
JS-- for...in和for...of
开发语言·前端·javascript
smallluan5 分钟前
JS设计模式(4):观察者模式
javascript·观察者模式·设计模式
粥里有勺糖20 分钟前
视野修炼-技术周刊第122期 | 发光图片制作
前端·javascript·github
y1021210422 分钟前
Python训练营打卡Day42
开发语言·javascript·ecmascript
Carlos_sam1 小时前
OpenLayers:封装Tooltip
前端·javascript
工呈士1 小时前
MobX与响应式编程实践
前端·react.js·面试
嘉小华1 小时前
Android Lifecycle 使用
前端
Sherry0071 小时前
实时数据传输协议:WebSocket vs MQTT
前端·websocket
然我1 小时前
JavaScript的OOP独特之道:从原型继承到class语法
前端·javascript·html
腹黑天蝎座1 小时前
如何更好的实现业务中图片批量上传需求
前端