如何在 Azure LogicApps 中将时间戳转换为等效的 UTC 时间

问题描述 投票:0回答:1

在 http 请求中,它返回生日属性作为响应,其值以时间戳形式出现。如何在“Compose”的逻辑应用操作中将其转换为等效的 UTC 时间。

输入:“生日”:“/日期(1723529264000)/” 输出:“生日”:“2024-08-13T02:12:16Z”

if(
    and(
        not(empty(items('For_each')?['student'])),
        not(empty(items('For_each')?['student']['results'])),
        greater(length(items('For_each')?['student']['results']), 0),
        not(empty(items('For_each')?['student']['results']?[0]?['birthDay']))
    ),
    formatDateTime(
        addToTime(
            '1970-01-01T00:00:00Z',
            div(
                int(substring(
                    items('For_each')?['student']['results']?[0]?['birthDay'],
                    6,
                    sub(
                        length(items('For_each')?['student']['results']?[0]?['birthDay']),
                        8
                    )
                )),
                1000
            ),
            'Second'
        ),
        'yyyy-MM-ddTHH:mm:ssZ'
    ),
    null
)

此代码给出了正确的格式,但预期的输出不同,显示无效的日期和时间。

azure workflow azure-logic-apps
1个回答
0
投票

您可以在单独的 Compose 中测试代码片段,以确保提取和转换正常工作:

formatDateTime(
    addToTime(
        '1970-01-01T00:00:00Z',
        div(
            int('1722988800000'), // Direct test with timestamp
            1000
        ),
        'Second'
    ),
    'yyyy-MM-ddTHH:mm:ssZ'
)

如果工作正常并返回预期日期,则问题出在 For_each 内的数据操作。

© www.soinside.com 2019 - 2024. All rights reserved.