You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Data Factory中将hh:mm:ss格式时长转换为总秒数

Azure Data Factory中将hh:mm:ss格式时长转换为总秒数的方法

你可以直接在「Add dynamic content」模块中使用如下表达式完成转换,逻辑为拆分时长字符串后按时间规则换算总秒数:

@string(
    add(
        add(
            mul(int(split(activity('dataflow').Duration, ':')[0]), 3600),
            mul(int(split(activity('dataflow').Duration, ':')[1]), 60)
        ),
        int(split(activity('dataflow').Duration, ':')[2])
    )
)

如果需要返回数字类型的结果,去掉外层的string()包裹即可。

表达式逻辑说明

  • 用split()函数把获取到的时长字符串按:拆分为数组,数组下标0对应小时、1对应分钟、2对应秒
  • 用int()函数把拆分得到的三个字符串值转换为整数
  • 按照时间换算规则计算总秒数:小时3600 + 分钟60 + 秒
  • 外层可选包裹string()函数,将数字结果转换为字符串格式,匹配示例输出要求

效果验证

对应给出的测试用例,转换结果完全匹配:

  • 输入"00:01:02" → 输出 62
  • 输入"00:01:22" → 输出 82
  • 输入"00:00:30" → 输出 30
  • 输入"01:00:00" → 输出 3600

空值兼容方案

如果需要兼容activity('dataflow').Duration可能返回空值的场景,可以加判断兜底:

@if(
    empty(activity('dataflow').Duration),
    '0',
    string(
        add(
            add(
                mul(int(split(activity('dataflow').Duration, ':')[0]), 3600),
                mul(int(split(activity('dataflow').Duration, ':')[1]), 60)
            ),
            int(split(activity('dataflow').Duration, ':')[2])
        )
    )
)

内容的提问来源于stack exchange,提问作者lalalalaalalallll

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 05:15:08