logologo
开始
手册
开发
插件
API
English
简体中文
开始
手册
开发
插件
API
English
简体中文
logologo
工作流
概述
快速开始

触发器

概述
数据表事件
定时任务
操作前事件
操作后事件
自定义操作事件
审批
Webhook

节点

概述

人工智能

大语言模型

流程控制

条件
循环
变量
并行分支
调用工作流
流程输出
延时
结束

计算

计算
日期计算
JSON 计算
JSON 变量映射

数据操作

新增数据
更新数据
查询数据
删除数据
SQL 操作

人工处理

人工处理
审批
抄送

扩展类型

HTTP 请求
JavaScript 脚本
通知
邮件发送
响应
响应消息
变量
执行记录
版本管理
高级选项

扩展开发

概述
扩展触发器类型
扩展节点类型
API 参考
Previous Page计算
Next PageJSON 计算

#日期计算

该功能由商业插件 «工作流: 日期计算节点» 提供, 请 购买 后使用

#介绍

日期计算节点提供了包括增加时间段,减少时间段,时间字符串的格式化输出,时长单位转换在内的九种计算函数,每个函数都有特定的输入值类型和输出值类型,同时还能接收其他节点结果作为参数变量,并采用计算管道的方式将配置好的函数计算结果串连起来,最后得到一个预期的输出。

#创建节点

在工作流配置界面中,点击流程中的加号(“+”)按钮,添加“时间计算”节点:

日期计算节点_创建节点

#节点配置

日期计算节点_节点配置

#输入值

输入值可以选择变量或者是日期的常量,变量可以是触发这个工作流的数据,也可以是这个工作流中上游节点的结果,常量则可以选择任何一个日期。

#输入值类型

指代输入值的类型,有两种取值。

  • 日期类型:指输入值最终能转换为日期时间的类型,比如数值类型的时间戳或者是指代时间的字符串。
  • 数值类型:由于输入值的类型会影响下面时间运算步骤的选择,因此需要正确选择输入值的类型。

#计算步骤

每个计算步骤由一个计算函数和其参数配置组成,同时采用的是管道化的设计,上一个函数计算得到的结果会作为下一个函数计算的输入值继续参与计算,通过这种方式,可以完成一系列的时间计算和转换。

每个计算步骤之后,输出的类型也是固定的,并会影响下一步计算可使用的函数,类型匹配才可以继续计算。否则一个步骤的结果将作为最后节点的输出结果。

#计算函数

#加一段时间

  • 接收输入值类型:日期
  • 参数
    • 增加的数量,可以填写数字,也可以选择节点内置的变量。
    • 时间单位。
  • 输出值类型:日期
  • 示例:输入值为 2024-7-15 00:00:00,数量为 1,单位为“天”时,则计算结果为 2024-7-16 00:00:00。

#减一段时间

  • 接收输入值类型:日期
  • 参数
    • 减少的数量,可以填写数字,也可以选择节点内置的变量。
    • 时间单位。
  • 输出值类型:日期
  • 示例:输入值为 2024-7-15 00:00:00,数量为 1,单位为“天”时,则计算结果为 2024-7-14 00:00:00。

#计算与另一个时间的差值

  • 接收输入值类型:日期
  • 参数
    • 需要计算差值的日期,可以选择一个日期常量,也可以选择工作流上下文中的变量。
    • 时间单位。
    • 是否取绝对值。
    • 取整操作:可选择保留小数,四舍五入,向上取整和向下取整。
  • 输出值类型:数值
  • 示例:输入值为 2024-7-15 00:00:00,比较对象为 2024-7-16 06:00:00,单位为“天”,不取绝对值,保留小数时,则计算结果为 -1.25。
提示

绝对值和取整同时配置时,会先取绝对值再取整。

#取时间在特定单位上的数值

  • 接收输入值类型:日期
  • 参数
    • 时间单位。
  • 输出值类型:数值
  • 示例:输入值为 2024-7-15 00:00:00,单位为“天”时,则计算结果为 15。

#将日期设置为特定单位的开始时间

  • 接收输入值类型:日期
  • 参数
    • 时间单位。
  • 输出值类型:日期
  • 示例:输入值为 2024-7-15 14:26:30,单位为“天”时。则计算结果为 2024-7-15 00:00:00

#将日期设置为特定单位的结束时间

  • 接收输入值类型:日期
  • 参数
    • 时间单位。
  • 输出值类型:日期
  • 示例:输入值为 2024-7-15 14:26:30,单位为“天”时。则计算结果为 2024-7-15 23:59:59

#判断闰年

  • 接收输入值类型:日期
  • 参数
    • 无参数
  • 输出值类型:布尔
  • 示例:输入值为 2024-7-15 14:26:30,则计算结果为 true。

#格式化为字符串

  • 接收输入值类型:日期
  • 参数
    • 格式,参考 Day.js: Format
  • 输出值类型:字符串
  • 示例:输入值为 2024-7-15 14:26:30,格式为 the time is YYYY/MM/DD HH:mm:ss,则计算结果为 the time is 2024/07/15 14:26:30。

#转换单位

  • 接收输入值类型:数值
  • 参数
    • 转换前的时间单位。
    • 转换后的时间单位。
    • 取整操作,可选保留小数,四舍五入,向上取整和向下取整。
  • 输出值类型:数值
  • 示例:输入值为 2,转换前的单位为“周”,转换后的单位为“天”,不保留小数时,则计算结果为 14。

#示例

日期计算节点_示例

假设有促销活动,我们希望每个商品创建的时候能在商品的字段上加上一个促销活动的结束时间,这个结束时间是在商品创建时间的下一周的最后一天的晚上 23:59:59,于是我们可以创建两个时间函数,并让它们以管道的方式运行:

  • 计算得到下个星期的时间
  • 将得到的结果重置为所在星期的最后一天 23:59:59

这样就得到我们期望的时间值,并传入下一个节点,例如数据表修改节点,将促销活动的结束时间加入到数据表中。