My requirement is to convert a string to a date format using DataWeave in Mule
Input string
8/30/2015 4:00:13 PM
Output date needs to be in MM/DD/YYYY format i.e,
08/30/2015
i have tried using the below logic
(($[1] splitBy " ")[0]) as :date{format:"[m01]/[d01]/[y0001]"}
this gave the error
Exception while executing:
"Order Date":(($[1] splitBy " ")[0]) as :date{format:"[m01]/[d01]/[y0001]"},
Cannot coerce a :string to a :date ^
I am using Mule Anypoint Studio Version: 5.2.0
First you need to convert it to a localdatetime (no timezone) and then to a string with the desired format.
"8/30/2015 4:00:13 PM"
as :localdatetime {format: "M/dd/yyyy h:mm:ss a"}
as :string {format: "MM/dd/yyyy"}
In DataWeave 2.0 in Mule 4 it should be
"8/30/2015 4:00:13 PM"
as LocalDateTime {format: "M/dd/yyyy h:mm:ss a"}
as String {format: "MM/dd/yyyy"}
For additional info see. https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html
All letters 'A' to 'Z' and 'a' to 'z' are reserved as pattern letters. The following pattern letters are defined:
Symbol Meaning Presentation Examples
------ ------- ------------ -------
G era text AD; Anno Domini; A
u year year 2004; 04
y year-of-era year 2004; 04
D day-of-year number 189
M/L month-of-year number/text 7; 07; Jul; July; J
d day-of-month number 10
Q/q quarter-of-year number/text 3; 03; Q3; 3rd quarter
Y week-based-year year 1996; 96
w week-of-week-based-year number 27
W week-of-month number 4
E day-of-week text Tue; Tuesday; T
e/c localized day-of-week number/text 2; 02; Tue; Tuesday; T
F week-of-month number 3
a am-pm-of-day text PM
h clock-hour-of-am-pm (1-12) number 12
K hour-of-am-pm (0-11) number 0
k clock-hour-of-am-pm (1-24) number 0
H hour-of-day (0-23) number 0
m minute-of-hour number 30
s second-of-minute number 55
S fraction-of-second fraction 978
A milli-of-day number 1234
n nano-of-second number 987654321
N nano-of-day number 1234000000
V time-zone ID zone-id America/Los_Angeles; Z; -08:30
z time-zone name zone-name Pacific Standard Time; PST
O localized zone-offset offset-O GMT+8; GMT+08:00; UTC-08:00;
X zone-offset 'Z' for zero offset-X Z; -08; -0830; -08:30; -083015; -08:30:15;
x zone-offset offset-x +0000; -08; -0830; -08:30; -083015; -08:30:15;
Z zone-offset offset-Z +0000; -0800; -08:00;
p pad next pad modifier 1
' escape for text delimiter
'' single quote literal '
[ optional section start
] optional section end
# reserved for future use
{ reserved for future use
} reserved for future use