注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。

解析持续时间

支持于: 批处理

解析ISO8601字符串持续时间和起始时间为特定时间单位的长度。

表达式类别: 日期时间, 字符串

声明的参数

  • 持续时间 - 要解析的ISO8601持续时间。如果无效,输出将为null。
    Expression<字符串>
  • 起始时间 - 持续时间的起始时间戳,用于确定某些持续时间的长度(例如月份)。
    Expression<时间戳>
  • 单位 - 输出时间单位。结果将是由持续时间表示的完整时间单位的数量。
    Enum<天, 小时, 毫秒, 分钟, 月份, 季度, 秒, 周, 年>

输出类型: Long

示例

示例 1: 基本情况

参数值:

  • 持续时间: PT1M30.5S
  • 起始时间: 2022-10-01T09:00:00Z
  • 单位: SECONDS

输出: 90


示例 2: 基本情况

参数值:

  • 持续时间: P2DT6H
  • 起始时间: 2022-10-01T09:00:00Z
  • 单位: HOURS

输出: 54


示例 3: 基本情况

参数值:

  • 持续时间: P1M2W
  • 起始时间: 2023-02-01T09:00:00Z
  • 单位: DAYS

输出: 42


示例 4: 空值情况

参数值:

  • 持续时间: PT1Y6M
  • 起始时间: 2022-02-01T00:00:00Z
  • 单位: YEARS

输出: null


示例 5: 空值情况

参数值:

  • 持续时间: null
  • 起始时间: 2022-02-01T00:00:00Z
  • 单位: MILLISECONDS

输出: null


示例 6: 边界情况

参数值:

  • 持续时间: P300000000000Y
  • 起始时间: 2022-02-01T00:00:00Z
  • 单位: MILLISECONDS

输出: null