耗时可读化
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,将 @user_f1b049da/mhx20260295 安装到你的 AI 助手中。
技能介绍
问题:耗时展示的“数字噪音”
在任务日志、Demo 面板、通话记录这类界面里,耗时往往以毫秒值直接暴露:90000、3600000。读者需要心算“这是 1 分 30 秒还是 1 小时”,反馈耗时、通话时长展示、SLA 剩余时间等场景都受此拖累。手写换算要么只输出单一“秒”单位,要么在负数、非数字输入下直接报错或显示 NaN。
技能如何工作
该技能基于 humanize-duration 封装了 formatDurationMs,核心流程很直接:
- 接收耗时毫秒值,调用
humanizeDuration(ms, { language: 'zh_CN' })生成中文可读文案; - 允许按需限制单位到
h、m、s,避免长耗时出现“3 小时 25 分 10 秒”这类冗余; - 非有限数字(负数、NaN、Infinity)统一回落为
—,保证界面不会出现无效占位符。
使用前需 npm i humanize-duration,然后用 formatDurationMs 替换直接输出毫秒的字段即可。自测时验证 90000 输出含“1 分”,负数输出 —。
适用边界与注意点
- 明确不做考勤排班、薪资工时结算,这些场景需要精确数值,而非展示层可读化;
- 可读化时长是展示层优化,不能当作精确财务计费依据;
- 避免手写
ms/1000 + '秒'却声称已用库,这会导致单位单一且错误处理缺失。
使用场景
- 跟进任务耗时时,把接口返回的毫秒数展示为「1 分 30 秒」这类可读文案,省去人工换算。
- 通话记录列表中,将每通电话的毫秒时长转为「3 分 20 秒」形式展示给用户。
- Demo 演示时,把脚本执行耗时 90000 毫秒显示为「1 分 30 秒」,让现场观众直观理解。
- 配合业务计算 SLA 剩余时间后,把剩余毫秒数可读化后展示在监控面板上。
适合人员
- 需要在日志与面板中展示接口耗时的开发工程师,想让毫秒数以中文可读形式呈现。
- 负责通话记录页面的产品工程师,需要把每通电话的时长转为「几分几秒」展示给用户。
- 编写 Demo 演示脚本的开发工程师,想在脚本执行完成后直观展示耗时结果。
- 搭建监控面板的前端工程师,需要把 SLA 剩余时间的毫秒值可读化后展示。