更新记录

1.0.0(2026-08-26) 下载此版本

  • 初始版本(基于 dayjs)
  • formatRelativeTime(value) —— 相对时间:刚刚(≤5分钟)/ xx分钟前(≤30分钟)/ 今日 xx:xx / x月x日 xx:xx / xxxx年x月x日 xx:xx
  • formatAbsoluteTime(value) —— 绝对时间:今日 xx:xx / x月x日 xx:xx / xxxx年x月x日 xx:xx
  • 空/非法输入统一返回空串;未来时间相对版显示「刚刚」
  • 依赖 dayjs ^1.11(宿主安装)

平台兼容性

uni-app(5.24)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - -

uni-app x(5.24)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - - -

wc-time

基于 dayjs 的展示层时间工具(中文场景)。纯函数、无状态、不发请求。

安装前置

  1. 宿主项目安装 npm 依赖 dayjs(本模块仅在 package.json 声明,安装动作由宿主完成):
pnpm add dayjs

使用

小程序端请注意:直接从具体模块导入(.../wc-time/commons/time)。 mp-weixin 编译器会把纯 re-export 的 index.ts 编译成空模块。

import { formatRelativeTime, formatAbsoluteTime } from '@/uni_modules/wc-time/commons/time'

相对时间:formatRelativeTime(信息流、动态时间轴)

阶梯规则:

距当前 输出
≤ 5 分钟(含未来) 刚刚
≤ 30 分钟 xx分钟前
今日(自然日) 今日 xx:xx
今年 x月x日 xx:xx
往年 xxxx年x月x日 xx:xx
formatRelativeTime('2026-08-24 14:00:00')  // 视当前时间而定
formatRelativeTime(publishTime)            // 列表发布时间最常用

绝对时间:formatAbsoluteTime(截止时间、预约时间等明确时点)

与相对版共用「今日 / 今年 / 往年」分段,但无相对前缀:

距当前 输出
今日 xx:xx
今年 x月x日 xx:xx
往年 xxxx年x月x日 xx:xx
`截止 ${formatAbsoluteTime(closeAt)}`   // 截止 21:00 / 截止 8月30日 21:00

行为约定

说明
入参 string | number | Date;server 的 Y-m-d H:i:s 字符串可直接解析
空值 / 非法值 返回 ''(调用方按需兜底)
未来时间 相对版返回 刚刚;绝对版正常分段显示
时区 按设备本地时间(dayjs 默认行为)

范围说明

刻意不包含(保持简单):

  • 时间戳 ↔ 字符串的通用 format(直接用导出的 dayjs 自己格式化)
  • 从现在起的多语言/多 locale 配置(当前仅中文场景)
  • 倒计时、时长(duration)类需求(出现时另行封装)

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。