无法将字符串强制转换为 Datetime Mule4

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

所以我需要将此字符串:“2022-04-01T09:56:17.674+00:00”转换为 Datetime 以便发送到 SF。

我试过这样的:

StartDateTime: payload.planDate as DateTime {format: "yyyy-MM-dd'T'HH:mm:ss.SSSZ"} 而不是 "DateTime" , "LocalDateTime"。它们似乎都不起作用。

两者都给我这个错误:无法将字符串 (2022-04-01T09:56:17.674+00:00) 强制转换为日期时间,原因是:文本 '2022-04-01T09:56:17.674+00:00'

你能帮我把字符串转换成日期时间吗?预期结果是字符串中的所有信息。

dataweave mule4
1个回答
0
投票

看来您需要使用

Z
来说明时区偏移量中使用的 5 个字符,或者您可以使用
xxx
:

%dw 2.0
output application/json
var planDate="2022-04-01T09:56:17.674+00:00"
---
{
    z: planDate as DateTime {format: "yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ"},
    x: planDate as DateTime {format: "yyyy-MM-dd'T'HH:mm:ss.SSSxxx"}, 
    explicit: planDate as DateTime {format: "yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ"} as String {format: "yyyy-MM-dd'T'HH:mm:ss.SSSxxx"}
} 

输出:

{
  "z": "2022-04-01T09:56:17.674Z",
  "x": "2022-04-01T09:56:17.674+00:00",
  "explicit": "2022-04-01T09:56:17.674+00:00"
}

在最后一个案例中,我使用了

ZZZZZ
但通过转换为具有格式的字符串来显式格式化输出。

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