Orchestrator

Dynamic Date/Time Calculation

文本由 Phrase Language AI 从英语机器翻译而得。

工作流可能需要在运行时获取的日期,而不是硬编码的日期。这可以通过 sprig 函数或 Expr 提供。

Sprig 文档参考:

Expr 文档参考:

  • 函数文档(建议:根据术语表,document 应翻译为“文档”,此处已正确。无须更改。)

注意

masterminds 的文档中使用的语法与在 Orchestrator 中使用的语法不同。例如,now | date "2006-01-02" 变为 {{sprig.date("2006-01-02", sprig.now())}}

使用场景

获取当前时间/日期

  • 要在特定工作流执行时仅获取日期,在任何参数字段中输入:

    • Sprig: {{sprig.now()}}

    • Expr: {{ now() }}

  • 在运行时,日期以此格式返回:

    "2023-02-24 11:33:01.819987888 +0000 UTC m=+77750.651866821"

格式化日期

  • 要格式化日期,请使用:

    • Sprig: sprig.date(“FORMAT_STRING”, “DATE”)

    • Expr:DATE.Format("FORMAT_STRING"

    提供一个字符串,格式要求为引用此标准日期:Mon Jan 2 15:04:05 MST 2006  (MST 是 GMT-0700)

  • 示例:

    • Sprig: {{sprig.date("02.01.2006 - 15:04", sprig.now())}} 结果为 “24.02.2023 - 11:36”(在撰写时)。

    • Expr: {{ now().Format("02.01.2006 - 15:04") }}

    要以 TMS API 所需的格式提供日期:

    • Sprig: ("2019-08-24T14:15:22Z") 调用 {{sprig.date("2006-01-02T15:04:05Z", sprig.now())}}

    • Expr: {{ now().Format("2006-01-02T15:04:05Z") }}

修改日期

  • 要根据示例进行计算

    • Sprig: sprig.now(),使用 sprig.dateModify(“MODIFY_VALUE”, “DATE”)

    • Expr:DATE.Add(duration("MODIFY_VALUE"))

  • 例如:

    • Sprig: {{sprig.dateModify("24h", sprig.now())}}

    • Expr: {{ now().Add(duration(“24h”)) }}

    (在2月24日12:43运行)结果为 "2023-02-25 11:43:48.073101611 +0000 UTC m=+164796.904980545" - 初始日期后的24小时。

  • 可以使用组合。

    要获取执行的时间和日期,并加上 24 小时,格式化为 TMS API,请将此表达式传递到指定字段:

    • Sprig: {{sprig.date("2006-01-02T15:04:05Z", sprig.dateModify("24h", sprig.now()))}}

    • Expr: {{ now().Add(duration("24.h")).Format("2006-01-02T15:04:05Z") }}

    结果为 "2023-02-25T11:50:50Z"(在2月24日11:50运行时)。

  • 日期应修改的值可以用小时表示,如果需要减去该值,则在前面加上 “-”。也可以使用像 “-1.5h” 这样的分数。

这篇文章有帮助吗?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.