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>

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

相关推荐
静小谢13 分钟前
前后台一起部署,vite配置笔记base\build
前端·javascript·笔记
用户479492835691536 分钟前
改了CSS刷新没反应-你可能不懂HTTP缓存
前端·javascript·面试
还好还好不是吗1 小时前
老项目改造 vue-cli 2.6 升级 rsbuild 提升开发效率300% upupup!!!
前端·性能优化
sumAll1 小时前
别再手动对齐矩形了!这个开源神器让 AI 帮你画架构图 (Next-AI-Draw-IO 体验)
前端·人工智能·next.js
OpenTiny社区1 小时前
2025OpenTiny星光ShowTime!年度贡献者征集启动!
前端·vue.js·低代码
wangan0941 小时前
不带圆圈的二叉树
java·前端·javascript
狗哥哥1 小时前
从零到一:打造企业级 Vue 3 高性能表格组件的设计哲学与实践
前端·vue.js·架构
疯狂平头哥1 小时前
微信小程序真机预览-数字不等宽如何解决
前端
Drift_Dream1 小时前
前端趣味交互:如何精准判断鼠标从哪个方向进入元素?
前端
hqk1 小时前
鸿蒙ArkUI:状态管理、应用结构、路由全解析
android·前端·harmonyos