必须用时间戳节点输入毫秒级整数作为基准,如1749226200000;代码节点通过date.now()与target_timestamp相减实现倒计时计算,差值为毫秒。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在扣子中实现精确排程与倒计时,必须依赖时间戳节点完成毫秒级计算,否则直接用自然语言描述“3天后”或“下周六上午10点”将无法被系统识别为可执行时间点。
配置时间戳节点作为工作流起始输入
进入工作流编辑页→点击左侧“开始节点”→在右侧设置面板中,点击“+ 添加变量”→变量名填 target_timestamp,类型选 Number→勾选“允许用户输入”,并填写提示语:“请输入目标时间戳(毫秒)”。
这一步是后续所有计算的前提,不设此变量,倒计时逻辑将失去基准点。
注意:时间戳必须为毫秒级整数,例如 1749226200000 表示 2025年6月6日10:00:00。若填入秒级时间戳(如1749226200),节点会静默失败且无报错提示。
用代码节点做时间差计算与格式化
在画布中拖入一个“代码节点”,连接至开始节点→双击打开配置→语言选 JavaScript→粘贴以下代码:
const now = Date.now();
const target = $input.target_timestamp;
const diffMs = target - now;
if (diffMs return { status: "expired", remaining: "0天0时0分0秒" };
}
const days = Math.floor(diffMs / (1000 * 60 * 60 * 24));
const hours = Math.floor((diffMs % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
const minutes = Math.floor((diffMs % (1000 * 60 * 60)) / (1000 * 60));
const seconds = Math.floor((diffMs % (1000 * 60)) / 1000);
return {
status: "active",
remaining: `${days}天${hours}时${minutes}分${seconds}秒`
};
这段代码严格按毫秒运算,避免了日期对象跨月/闰年导致的误差。它自动判断是否已过期,并返回结构化结果供下游节点使用。
将倒计时结果注入提示词或触发动作
方法一:对接LLM节点
添加一个LLM节点→在系统提示词中写:“用户设定的截止时间为{{code.output.remaining}}。请据此生成一句带紧迫感的提醒话术。”
方法二:条件分支控制流程
添加“条件节点”→设置规则:当 code.output.status === "expired" →走“已过期”分支,可接飞书消息节点发送告警;否则走“进行中”分支,接定时重试逻辑。
方法三:输出到前端展示
若该工作流由网页调用,直接将 code.output.remaining 作为API响应体字段返回,前端用 setInterval 每秒刷新一次即可实现动态倒计时。
获取目标时间戳的三种可靠方式
第一步:用在线转换器固化时间
打开 Epoch Converter 网站→输入“2026-06-13 10:00:00”→选择时区 Asia/Shanghai→点击 Convert→复制毫秒值(末尾带三位零)→粘贴进工作流变量默认值或用户输入框。
第二步:用JavaScript一行生成
在浏览器控制台执行:console.log(new Date("2026-06-13T10:00:00+08:00").getTime())→结果直接可用。
第三步:用扣子空间任务反向提取
在扣子空间创建一个定时任务,设置执行时间为目标时刻→保存后,在任务详情页查看其 Cron 触发配置→用 Cron-to-timestamp 工具反推毫秒值。此法适合需复用平台调度能力的场景。











