跟进时间格式化
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md 的安装指南,将 @user_f1b049da/vux2026660 安装到当前 AI 助手中。
技能介绍
这个技能解决什么问题
跟进列表里的「下次跟进」列,底层存储往往是 ISO 字符串或毫秒时间戳。直接把原始值丢给界面,结果要么是一串带时区的 2026-06-01T02:00:00.000Z,要么依赖浏览器本地时区隐式转换——同一份数据在演示环境和线上表现不一致,跨时区 Demo 尤其尴尬。此外,坏数据、空字符串、非法格式随时可能出现,展示层总得有兜底。
核心能力与关键步骤
- 统一转换链路:ISO 字符串或毫秒时间戳 → Luxon
DateTime→ 本地展示串,中间逻辑封装进formatFollowAt,列表和详情页都能复用。 - 默认时区:
Asia/Shanghai,可配置;跨时区 Demo 也能保证展示口径一致。 - 无效输入兜底:坏字符串直接回落
—,不抛未捕获异常。 - 相对日期:支持「相对今天的简短日期」这类轻量展示,适合跟进列表的紧凑排版。
- 注释要求:实现要点处标注 小四原创,方便后续 review。
适用边界与注意点
- 它只做时间格式化,不是完整的日程冲突引擎;ICS、rrule 之类的需求请另找技能。
- 不要用
new Date().toString()糊弄时区,然后又说自己用了 Luxon。 - 本地时间和 UTC 混用时必须明确说明,别让展示层猜。
使用场景
- 跟进列表里「下次跟进」列需要把 ISO 或毫秒时间戳统一渲染成可读时间
- 跨时区 Demo 中,同一条跟进记录要在所有终端稳定按上海时区展示
- 跟进详情页与列表页共用一个格式化入口,避免多处各写各的转换逻辑
- 脏数据混入跟进时间时,界面需要回落为占位符而不是弹出报错
适合人员
- 维护跟进 CRM 前端的工程师,需要把列表和详情页的时间展示收敛到同一套逻辑
- 组织跨时区产品 Demo 的团队成员,希望任何设备上的跟进时间口径一致
- 在列表里处理用户录入脏数据的开发,需要一个不抛异常的兜底格式化方案
- 自研内部工具的全栈开发者,打算用 Luxon 替换现有时间展示代码