0

我通过 inputDate : 2017-06-27 16:46:36

我想将格式转换为27-June-2017

使用表达式组件

我正在尝试这个

flowVars.inputDate = new org.mule.el.datetime.DateTime(new Date(flowVars.inputDate),"yyyy-MM-dd HH:mm:ss");
4

2 回答 2

2

您可以通过两种方式使用 dataweave 脚本

1:

<dw:transform-message doc:name="Transform Message">
<dw:set-variable variableName="inputDate"><![CDATA[%dw 1.0
%output application/java
---
flowVars.inputDate as :localdatetime {format:'yyyy-MM-dd HH:mm:ss'} as :string {format:'dd-MMMM-yyyy'}]]></dw:set-variable>
</dw:transform-message>

2:

<set-variable variableName="inputDate" value="#[dw(&quot;flowVars.inputDate as :localdatetime {format:'yyyy-MM-dd HH:mm:ss'} as :string {format:'dd-MMMM-yyyy'}&quot;)]" doc:name="Variable"/>

希望这可以帮助。

于 2017-07-11T06:46:08.897 回答
0

您可以从表达式组件中获得所需的结果

<expression-component doc:name="Expression"><![CDATA[String date_s = "2017-06-27 16:46:36"; 
java.text.SimpleDateFormat dt = new  java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); 
java.util.Date date = dt.parse(date_s); 
java.text.SimpleDateFormat dt1 =  new java.text.SimpleDateFormat("dd-MMMM-yyyy");
flowVars.inputDt = dt1.format(date);]]></expression-component>
        <logger message="-------#[flowVars.inputDt]" level="INFO" doc:name="Logger"/>
于 2018-03-16T10:33:46.403 回答