name: chrono-follow-date slug: prd20263897 displayName: 自然语言日期 version: 1.0.0 summary: 用 chrono-node 解析「下周五下午三点」等跟进时间,本地不请求后端。 license: MIT description: 用 chrono-node 在浏览器内把「明天」「下周五下午三点」等自然语言解析为跟进时间。当用户需要自然语言日期、chrono-node、跟进时间口语解析、下周五三点时使用。
本技能来自小葱技能站7w4.net。
灵感:能力工具箱 chrono-date(pkg: chrono-node)。
把跟进备注里的口语时间(如「下周五下午三点」「后天上午」)解析为 Date,用于预约跟进、日历写入,本地完成、不请求后端。
chrono-node;中文场景使用中文 locale(如 zh 解析器),不要只用默认英文。{ ok: false, reason },禁止静默写成 Invalid Date。refDate(默认 new Date())解释相对词;时区用运行环境本地时区并在 UI 标明。iso 与可读文案。import * as chrono from 'chrono-node'
/** 中文优先;若包版本导出不同,改为项目文档推荐的 zh 入口 */
const zh = (chrono as any).zh?.casual || chrono.casual
export function parseFollowWhen(
text: string,
refDate: Date = new Date(),
): { ok: true; date: Date; iso: string; text: string } | { ok: false; reason: string } {
const hit = zh.parse(text.trim(), refDate, { forwardDate: true })[0]
if (!hit) return { ok: false, reason: '未识别到时间表达' }
const date = hit.start.date()
if (Number.isNaN(date.getTime())) return { ok: false, reason: '时间无效' }
return {
ok: true,
date,
iso: date.toISOString(),
text: hit.text,
}
}
// 示例:parseFollowWhen('下周五下午三点提醒我')
chrono-node 中文解析,封装 parseFollowWhen。这个 Skill 能帮你把“明天下午三点”这样的口语日期转换成具体时间。文档写得很清楚,告诉你什么时候用、要注意什么,错误处理也有明确要求。不过它目前只提供说明文档,没有可以直接运行的代码,需要懂一些技术才能使用。适合需要这种日期解析功能的开发者,不适合完全没有技术背景的普通用户直接使用。