当前位置:首页 > VUE

vue实现带日期星期

2026-02-25 06:39:02VUE

实现带日期星期的 Vue 组件

使用 JavaScript 的 Date 对象获取日期和星期

在 Vue 中可以通过 JavaScript 的 Date 对象来获取当前日期和星期几的信息。以下是一个简单的实现方法:

<template>
  <div>
    {{ currentDate }} {{ currentDay }}
  </div>
</template>

<script>
export default {
  data() {
    return {
      currentDate: '',
      currentDay: ''
    }
  },
  mounted() {
    this.updateDateTime()
  },
  methods: {
    updateDateTime() {
      const now = new Date()
      const days = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']

      this.currentDate = `${now.getFullYear()}年${now.getMonth() + 1}月${now.getDate()}日`
      this.currentDay = days[now.getDay()]
    }
  }
}
</script>

使用第三方库 moment.js 或 day.js

对于更复杂的日期处理,可以使用 moment.js 或 day.js 这样的日期处理库:

<template>
  <div>
    {{ formattedDate }}
  </div>
</template>

<script>
import dayjs from 'dayjs'
import 'dayjs/locale/zh-cn'

dayjs.locale('zh-cn')

export default {
  data() {
    return {
      formattedDate: ''
    }
  },
  mounted() {
    this.updateDateTime()
  },
  methods: {
    updateDateTime() {
      this.formattedDate = dayjs().format('YYYY年MM月DD日 dddd')
    }
  }
}
</script>

自动更新的日期时间显示

vue实现带日期星期

如果需要日期和时间自动更新,可以添加定时器:

<script>
export default {
  data() {
    return {
      currentDateTime: ''
    }
  },
  mounted() {
    this.updateDateTime()
    setInterval(this.updateDateTime, 1000)
  },
  methods: {
    updateDateTime() {
      const now = new Date()
      const days = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']

      this.currentDateTime = `${now.getFullYear()}年${now.getMonth() + 1}月${now.getDate()}日 ${days[now.getDay()]} ${now.getHours()}:${now.getMinutes()}:${now.getSeconds()}`
    }
  }
}
</script>

国际化日期显示

如果需要支持多种语言的日期显示,可以使用 Vue I18n 配合日期库:

vue实现带日期星期

<template>
  <div>
    {{ $d(new Date(), 'long') }}
  </div>
</template>

<script>
import { createI18n } from 'vue-i18n'

const i18n = createI18n({
  locale: 'zh-CN',
  datetimeFormats: {
    'zh-CN': {
      long: {
        year: 'numeric',
        month: 'long',
        day: 'numeric',
        weekday: 'long'
      }
    },
    'en-US': {
      long: {
        year: 'numeric',
        month: 'long',
        day: 'numeric',
        weekday: 'long'
      }
    }
  }
})

export default {
  i18n
}
</script>

注意事项

日期格式化时需要注意月份是从0开始的,所以需要加1。星期几的索引从0(星期日)到6(星期六)。

对于生产环境,推荐使用day.js代替moment.js,因为day.js体积更小,API兼容。

如果需要显示24小时制的时间,可以使用toLocaleTimeString方法或日期库的相应格式化选项。

标签: 星期日期
分享给朋友:

相关文章

vue实现滑动日期

vue实现滑动日期

实现滑动日期选择器的基本思路 在Vue中实现滑动日期选择器可以通过结合第三方库或自定义组件完成。核心逻辑包括日期数据的生成、滑动动画的实现以及用户交互处理。 使用第三方库(如vant) 安装vant…

vue如何实现日期递增

vue如何实现日期递增

实现日期递增的方法 在Vue中实现日期递增可以通过JavaScript的Date对象进行操作,结合Vue的响应式特性更新数据。以下是几种常见的实现方式: 使用计算属性 data() {…

vue实现日期选择显示

vue实现日期选择显示

Vue 实现日期选择显示的方法 使用原生 HTML5 input[type="date"] 通过 HTML5 提供的日期输入控件实现基础日期选择功能,适合简单场景。 <template>…

vue实现日期范围选择

vue实现日期范围选择

实现日期范围选择的基本方法 在Vue中实现日期范围选择功能,可以通过多种方式完成。以下是几种常见的方法: 使用Element UI的DatePicker组件 Element UI提供了el-date…

react如何制作日期选择

react如何制作日期选择

使用原生HTML日期选择器 React可以直接使用HTML5的<input type="date">实现简单的日期选择功能。这种方式无需额外依赖,适合基础需求。 import Rea…

php实现日期时间相减

php实现日期时间相减

日期时间相减的实现方法 在PHP中,可以使用DateTime类和DateInterval类来实现日期时间的相减操作。以下是几种常见的方法: 使用DateTime类的diff方法 $date1 =…