比较逻辑应用中的两个日期

Compare two dates in logic apps

我有两个日期对象,我需要在其中找到持续时间。我的问题是:如何计算逻辑应用程序中两个日期字符串之间的持续时间?

您可以使用 ticks() 来比较两个日期字符串。勾选 return 指定时间戳的 ticks 属性 值。

ticks()

的语法
ticks('<timestamp>')

例如,我考虑了 2 个日期(即 2022-01-22T22:01:37Z、2022-02-20T22:01:37Z)。

然后在 Calculate Duration 连接器中我使用下面的表达式

div(sub(ticks(outputs('Sample_Date1')),ticks(outputs('Sample_Date_2'))),864000000000)

我们除以 864000000000 的原因是一天有 100 * 100 * 100 * 60 * 60 * 24 个刻度。简而言之,比较两个日期只需要 tick-to-day 转换。因此,结果我们得到天数作为持续时间。

输出:

这是我的逻辑应用程序的代码视图

{
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "actions": {
            "Calculating_Duration": {
                "inputs": "@div(sub(ticks(outputs('Sample_Date_2')),ticks(outputs('Sample_Date1'))),864000000000)",
                "runAfter": {
                    "Sample_Date_2": [
                        "Succeeded"
                    ]
                },
                "type": "Compose"
            },
            "Sample_Date1": {
                "inputs": "2022-01-22T22:01:37Z",
                "runAfter": {},
                "type": "Compose"
            },
            "Sample_Date_2": {
                "inputs": "2022-02-20T22:01:37Z",
                "runAfter": {
                    "Sample_Date1": [
                        "Succeeded"
                    ]
                },
                "type": "Compose"
            }
        },
        "contentVersion": "1.0.0.0",
        "outputs": {},
        "parameters": {},
        "triggers": {
            "manual": {
                "inputs": {},
                "kind": "Http",
                "type": "Request"
            }
        }
    },
    "parameters": {}
}

参考: Reference guide for expression functions - Azure Logic Apps