极奇策RPA技术教程:日期差计算 (NodeDateDiff) - 自动化开发与配置详细指南

日期差计算
📖 节点概述
计算两个日期之间的差值,支持输出单位为天、小时、分钟或秒。两个日期字符串的格式必须为 YYYY-MM-DD(例如 2025-01-01)。结果为正数表示日期B减去日期A的差值,可为负数(当日期A大于日期B时)。该节点为纯数据节点,无执行端口。
💡 使用场景:
- 计算剩余天数:从当前日期到目标日期(如活动结束)的天数。
- 计算年龄/工龄:出生日期或入职日期到今天的差值。
- 时间区间统计:计算两个事件之间的间隔时长。
- 预警/提醒:距离到期日不足指定天数时触发告警。
- 报表周期计算:计算业务周期起始和结束的天数、小时数。
🎮 实战连线指南:如何正确使用它?
节点有两个输入端口:日期A 和 日期B,以及一个下拉选择“输出单位”。输出端口 差值(整数)。
场景案例:计算2025年1月1日到2025年12月31日的天数
- 填写日期A:
2025-01-01 - 填写日期B:
2025-12-31 - 输出单位:选择
天 - 获取结果:
差值输出364(实际为(2025-12-31) - (2025-01-01))。 - 后续使用:将差值用于倒计时或报表。
输出单位示例:
- 日期A
2025-01-01,日期B2025-01-02:- 天 →
1 - 小时 →
24 - 分钟 →
1440 - 秒 →
86400
- 天 →
负数示例:
- 日期A
2025-12-31,日期B2025-01-01→ 差值-364天。
⚙️ 引脚与参数说明
📥 输入引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 日期A | STRING | 起始日期,格式必须为YYYY-MM-DD(如 2025-01-01)。 |
| 日期B | STRING | 结束日期,格式同日期A。 |
⚙️ 控件参数
| 控件名称 | 类型 | 说明 |
|---|---|---|
| 日期A | 单行文本框 | 手动输入起始日期。连线时优先使用连线值。 |
| 日期B | 单行文本框 | 手动输入结束日期。连线时优先使用连线值。 |
| 输出单位 | 下拉选择 | 指定差值的单位:天、小时、分钟、秒。 |
📤 输出引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 差值 | INT | 日期B减去日期A的差值,按所选单位取整(向下取整)。 |
🔧 计算规则
- 使用
datetime.strptime(a, "%Y-%m-%d")将字符串转换为日期对象。 - 计算差值
diff = dtb - dta,返回timedelta对象。 - 根据输出单位:
天:diff.days小时:diff.total_seconds() // 3600分钟:diff.total_seconds() // 60秒:int(diff.total_seconds())
⚠️ 注意事项
- 日期格式:严格使用
YYYY-MM-DD格式,例如2025-01-01。其他格式会解析失败,返回0。 - 单位转换精度:小时、分钟、秒是基于总秒数做整数除法(向下取整),不会四舍五入。例如差值为 1.5 天,以小时为单位输出
36(而不是36或37)。 - 负差值:当日期A > 日期B时,差值为负数,按相同规则计算。
- 错误处理:如果任一日期解析失败,返回
0,不会抛出异常。 - 时区:日期视为本地日期(无时区概念),计算基于日历日期,不考虑时间部分。
💎 小贴士:
- 如需包含时间的精确差值(如精确到秒),可使用【时间差计算】节点(若存在)。
- 天数差值可用于分页计算中判断两个日期相差多少页。
- 配合【变量设置】节点,可将差值存储后用于条件判断(如是否超过 30 天)。
- 由于是纯数据节点,无需执行信号,可在数据流中直接使用。
这篇文档对您有帮助吗?
您的反馈将帮助我们持续优化文档内容

