vue3+ts处理定时器、案例:获取当前时间

 案例:获取当前时间

<script lang="ts">

import { defineComponent, onMounted, onBeforeUnmount, ref } from 'vue'

export default defineComponent({
  setup() {
    let dataTime = ref('')
    
    //定义 timer 初始值及类型
    let timer: NodeJS.Timer | null = null

    // 当前时间
    const getNowTime = () => {
      const now = new Date()
      const year = now.getFullYear()
      const month = now.getMonth() >= 9 ? now.getMonth() + 1 : `0${now.getMonth() + 1}`
      const date = now.getDate() >= 10 ? now.getDate() : `0${now.getDate()}`
      const hour = now.getHours() >= 10 ? now.getHours() : `0${now.getHours()}`
      const minutes = now.getMinutes() >= 10 ? now.getMinutes() : `0${now.getMinutes()}`
      const seconds = now.getSeconds() >= 10 ? now.getSeconds() : `0${now.getSeconds()}`
      dataTime.value = `${year}年${month}月${date}日 ${hour}:${minutes}:${seconds}`
    }

    onMounted(() => {
      getNowTime()
      timer = setInterval(() => {
        getNowTime()
      }, 1000)
    })

    onBeforeUnmount(() => {
      // 清理定时器要处理 timer 的类型
      clearInterval(Number(timer))
    })

    return {
      dataTime
    }
  }
})
</script>

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值