Skip to content

XTimeDiff — 时间差

传入目标时间,自动计算与当前时间的差值并每秒更新。过去时间显示「已过 X年X月X日」,未来时间显示「剩余 X年X月X日」。

实时演示

已过2225072646
剩余328080314
剩余911170314
vue
<XTimeDiff time="2024-06-01 08:30:00" />
<XTimeDiff time="2026-12-25 00:00:00" variant="card" />
<XTimeDiff time="2027-06-07 09:00:00" variant="pill" color="#409eff" size="lg" />

Props

属性类型默认值说明
timestring—(必填)目标时间,格式 YYYY-MM-DDYYYY-MM-DD HH:mm:ss
prefixstring'已过' / '剩余'自定义前缀文字,覆盖默认判断
suffixstring''自定义后缀文字
variantstring'segment'视觉风格:segment/plain/outline/card/pill
sizestring'md'尺寸档位:sm/md/lg
colorstring''强调色;不传使用中性墨色,不依赖品牌主题色
fontSizestring''字体大小,如 '24px''1.2em'(精确覆盖 size

风格对照

variant视觉特征适用场景
segment每个「数字+单位」包成软胶囊通用展示(默认)
plain无装饰内联文本正文内嵌、节省空间
outline描边分段,通透轻盈浅色背景、低调呈现
card整体卡片容器,自带阴影作为独立信息块强调
pill实心高强调,自动对比文字重点倒计时、C 位展示

注意事项

  • time 仅支持 YYYY-MM-DDYYYY-MM-DD HH:mm:ss,不含时分秒时隐藏「XX时XX分XX秒」。
  • 通过 setInterval 每秒更新,性能开销极低。
  • 倒计时到达目标时间后自动切换为「已过」模式。

基于 VitePress + Vue 3 构建