在线提交需求

请留下您的联系方式,我们的专家将在 24 小时内与您沟通。

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

极奇策技术团队更新于 2026-08-260 阅读

image.png

日期差计算

📖 节点概述

计算两个日期之间的差值,支持输出单位为天、小时、分钟或秒。两个日期字符串的格式必须为 YYYY-MM-DD(例如 2025-01-01)。结果为正数表示日期B减去日期A的差值,可为负数(当日期A大于日期B时)。该节点为纯数据节点,无执行端口。

💡 使用场景

  • 计算剩余天数:从当前日期到目标日期(如活动结束)的天数。
  • 计算年龄/工龄:出生日期或入职日期到今天的差值。
  • 时间区间统计:计算两个事件之间的间隔时长。
  • 预警/提醒:距离到期日不足指定天数时触发告警。
  • 报表周期计算:计算业务周期起始和结束的天数、小时数。

🎮 实战连线指南:如何正确使用它?

节点有两个输入端口:日期A日期B,以及一个下拉选择“输出单位”。输出端口 差值(整数)。

场景案例:计算2025年1月1日到2025年12月31日的天数

  1. 填写日期A2025-01-01
  2. 填写日期B2025-12-31
  3. 输出单位:选择
  4. 获取结果差值 输出 364(实际为 (2025-12-31) - (2025-01-01))。
  5. 后续使用:将差值用于倒计时或报表。

输出单位示例

  • 日期A 2025-01-01,日期B 2025-01-02
    • 天 → 1
    • 小时 → 24
    • 分钟 → 1440
    • 秒 → 86400

负数示例

  • 日期A 2025-12-31,日期B 2025-01-01 → 差值 -364 天。

⚙️ 引脚与参数说明

📥 输入引脚

引脚名称数据类型说明
日期ASTRING起始日期,格式必须为YYYY-MM-DD(如 2025-01-01)。
日期BSTRING结束日期,格式同日期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(而不是 3637)。
  • 负差值:当日期A > 日期B时,差值为负数,按相同规则计算。
  • 错误处理:如果任一日期解析失败,返回 0,不会抛出异常。
  • 时区:日期视为本地日期(无时区概念),计算基于日历日期,不考虑时间部分。

💎 小贴士

  • 如需包含时间的精确差值(如精确到秒),可使用【时间差计算】节点(若存在)。
  • 天数差值可用于分页计算中判断两个日期相差多少页。
  • 配合【变量设置】节点,可将差值存储后用于条件判断(如是否超过 30 天)。
  • 由于是纯数据节点,无需执行信号,可在数据流中直接使用。
助理
咨询
微信
微信客服扫码添加微信
社群
QQ群扫码加入Q群
电话
免费咨询热线0371-67993886
顶部