介绍
本文档主要用于描述 ShadcnTime
组件的特性和用法。本组件是基于 Day.js 的封装,支持格式化、时区、相对时间和参考时间等功能。
用法
查看代码
vue
<template>
<ShadcnTime />
</template>
格式化 (format)
查看代码
vue
<template>
<ShadcnTime format="YYYY-MM-DD" />
</template>
时区 (timezone)
查看代码
vue
<template>
<ShadcnTime timezone="America/New_York" />
</template>
相对时间 (relative)
查看代码
vue
<template>
<ShadcnTime relative />
</template>
参考时间 (referenceTime)
查看代码
vue
<template>
<ShadcnTime relative :reference-time="tenMinutesAgo"/>
<ShadcnTime relative :reference-time="oneHourLater"/>
</template>
<script setup lang="ts">
import { computed } from 'vue'
const tenMinutesAgo = computed(() => {
const date = new Date()
date.setMinutes(date.getMinutes() - 10)
return date
})
const oneHourLater = computed(() => {
const date = new Date()
date.setHours(date.getHours() + 1)
return date
})
</script>
更新间隔 (interval)
查看代码
vue
<template>
<p class="text-sm text-gray-500 mb-1">自定义更新间隔 (5秒):
<ShadcnTime relative :interval="5000" @on-change="handleIntervalChange"/>
<div v-if="lastIntervalChange">
上次更新: {{ lastIntervalChange }}
</div>
</p>
</template>
<script setup lang="ts">
import { ref } from 'vue'
const lastIntervalChange = ref('')
const handleIntervalChange = (time: Date) => {
lastIntervalChange.value = new Date(time).toLocaleTimeString()
}
</script>