ADF中转换非ISO8601日期生成文件名报错,求解决方案
解决ADF中自定义日期格式转换问题
你遇到的错误是因为formatDateTime函数要求输入的日期字符串必须是ISO 8601格式(如yyyy-MM-ddTHH:mm:ssZ),而你的输入是MM/dd/yyyy HH:mm:ss格式,所以需要先解析这个非标准格式的日期字符串,再进行格式化。
具体实现步骤
- 解析自定义格式的日期字符串:用
parseDateTime函数指定输入日期的格式,将字符串转换为ADF可识别的日期对象。 - 格式化日期对象为目标格式:把解析后的日期对象传入
formatDateTime,输出所需的yyyyMMdd_HHmmss格式,再拼接文件后缀。
示例表达式
如果是固定日期字符串:
formatDateTime(parseDateTime('12/20/2023 04:57:00', 'MM/dd/yyyy HH:mm:ss'), 'yyyyMMdd_HHmmss') + '.parquet'
如果日期字符串来自变量(比如名为inputDate的变量):
formatDateTime(parseDateTime(variables('inputDate'), 'MM/dd/yyyy HH:mm:ss'), 'yyyyMMdd_HHmmss') + '.parquet'
时区说明(可选)
如果需要指定时区解析日期,可以在parseDateTime中添加第三个参数,例如指定UTC时区:
formatDateTime(parseDateTime('12/20/2023 04:57:00', 'MM/dd/yyyy HH:mm:ss', 'UTC'), 'yyyyMMdd_HHmmss') + '.parquet'
内容的提问来源于stack exchange,提问作者ADF-Learner
相关产品推荐
相关产品推荐

