我需要将此字符串:
"2022-04-01T09:56:17.674+00:00"
转换为 DateTime,以便发送给 Salesforce。
我试过这样的:
StartDateTime: payload.planDate as DateTime {format: "yyyy-MM-dd'T'HH:mm:ss.SSSZ"}
而不是“DateTime”,“LocalDateTime”。它们似乎都不起作用。
都给我这个错误:
Cannot coerce String (2022-04-01T09:56:17.674+00:00) to DateTime, caused by: Text '2022-04-01T09:56:17.674+00:00'
你能帮我把字符串转换成日期时间吗?预期结果是字符串中的所有信息。
看来您需要使用
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
来解析输入,但通过转换为具有显式添加时区偏移量(即使它为零)的格式的字符串来显式格式化输出。