我正在传递inputDate: 2017-06-27 16:46:36 和
我想将格式转换为 2017年6月27日
使用表达式组件
我正在尝试这个
flowVars.inputDate = new org.mule.el.datetime.DateTime(new Date(flowVars.inputDate),"yyyy-MM-dd HH:mm:ss");
答案 0 :(得分: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("flowVars.inputDate as :localdatetime {format:'yyyy-MM-dd HH:mm:ss'} as :string {format:'dd-MMMM-yyyy'}")]" doc:name="Variable"/>
希望这有帮助。
答案 1 :(得分: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"/>