Search code examples
datemuledataweavemulesoftanypoint-studio

how to convert string to date format in mule 4


I am trying to convert date which is in string to date format, am receiving error. Please help me in resolving.

Input-

{
    "Date" : "220907"
}

Code

output application/java
---
payload.Date as String {format: "YYMMDD"} as Date{format: "YYMMDD"}

`````

Error-

Cannot coerce String (220907) to Date, caused by: Text '220907' could not be parsed: Unable to convert 220907 to Date.

4| payload.Date as String {format: "YYMMDD"} as Date{format: "YYMMDD"} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Trace: at main::main (line: 4, column: 1)


Solution

  • The input has already a string. You need to parse it into a Date first. You need to use the right format characters for year and day. DataWeave uses the same format as Java does. It is lowercase 'y' for year and lowercase 'd' for day of month.

    %dw 2.0
    output application/java
    ---
    payload.Date as Date {format: "yyMMdd"}