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

NiFi中如何将日期转换为ISO8601格式?

在NiFi中将日期转换为ISO 8601格式

以下是几种在NiFi中把2022-11-22 00:00:00转换为2022-11-22T00:00:00.000Z的实用方案:

方案1:日期为流文件属性时(推荐)

使用UpdateAttribute处理器直接转换属性值:

  1. 添加UpdateAttribute处理器到画布
  2. 进入处理器的Properties标签,新增属性(例如命名为iso_8601_date),属性值填写:
    ${your_date_attr:format("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", "yyyy-MM-dd HH:mm:ss")}
    
    • 替换your_date_attr为实际存储目标日期的属性名称
    • 第一个参数是目标ISO格式,第二个参数是原日期的格式
    • 如果原日期属于UTC时区,需补充时区参数确保准确性:
      ${your_date_attr:format("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", "yyyy-MM-dd HH:mm:ss", "UTC")}
      

方案2:日期在流文件纯文本内容中

使用ReplaceText处理器做正则替换:

  1. 添加ReplaceText处理器
  2. 配置关键参数:
    • Search Value:(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})
    • Replacement Value:$1-$2-$3T$4:$5:$6.000Z
    • Replacement Strategy:Replace All

方案3:日期在JSON字段中

使用JoltTransformJSON处理器配合NiFi表达式语言转换:
假设流文件JSON内容为:

{"original_date": "2022-11-22 00:00:00"}
  1. 添加JoltTransformJSON处理器
  2. 在Jolt Specification中填入以下规范:
    [
      {
        "operation": "modify-overwrite-beta",
        "spec": {
          "iso_8601_date": "${original_date:format('yyyy-MM-dd\\'T\\'HH:mm:ss.SSS\\'Z\\'', 'yyyy-MM-dd HH:mm:ss')}"
        }
      }
    ]
    
    转换后会新增iso_8601_date字段,值为目标格式的日期。

内容的提问来源于stack exchange,提问作者Rodrigo Hajime Himauari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 10:35:34