vue 当前时间组件 日期格式化方法封装

本文介绍了如何在Vue应用中使用JavaScript实现一个动态更新的日期时间组件,包括获取当前日期、格式化日期以及使用定时器更新显示。
摘要由CSDN通过智能技术生成

时间组件

<template>
  <div class="time">
    {{ newData }}
  </div>
</template>
    
<script setup>
import { onMounted, onUnmounted, ref } from 'vue'

const yearMonthDay = ref('')
const nowData = ref('')
const newData = ref('')
const timer = ref(null)
// const weekDays = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];

onMounted(() => {
  timer.value = setInterval(() => {
    let datetime = new Date()
    let year = datetime.getFullYear()
    let month = datetime.getMonth() + 1 < 10 ? '0' + (datetime.getMonth() + 1) : datetime.getMonth() + 1
    let date = datetime.getDate() < 10 ? '0' + datetime.getDate() : datetime.getDate()
    let hh = datetime.getHours() // 时
    let mm = datetime.getMinutes() // 分
    let ss = datetime.getSeconds() // 分
    // let day = weekDays[datetime.getDay()]; // 周
    let time = ''
    if (hh < 10) time += '0'
    time += hh + ':'
    if (mm < 10) time += '0'
    time += mm + ':'
    if (ss < 10) time += '0'
    time += ss
    yearMonthDay.value = `${year}-${month}-${date}`
    nowData.value = time
    newData.value = yearMonthDay.value + ' ' + nowData.value
  }, 1000)
})
onUnmounted(() => {
  if (timer.value) clearInterval(timer.value)
})
</script>

日期格式化

/**
 * 日期格式化
 */
export const dateFormat = (date, format) => {
  format = format ? format : 'yyyy-MM-dd hh:mm:ss'
  if (date != 'Invalid Date') {
    var o = {
      'M+': date.getMonth() + 1, //month
      'd+': date.getDate(), //day
      'h+': date.getHours(), //hour
      'm+': date.getMinutes(), //minute
      's+': date.getSeconds(), //second
      'q+': Math.floor((date.getMonth() + 3) / 3), //quarter
      S: date.getMilliseconds(), //millisecond
    }
    if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
    for (var k in o)
      if (new RegExp('(' + k + ')').test(format))
        format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length))
        return format
      }
  return ''
}

// 使用
import { dateFormat } from '@/utils/utils'
dateFormat(new Date(val), 'yyyy-MM-dd hh:mm:ss') // val为需要格式转换的时间

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值