简体   繁体   English

ule子-将字符串转换为日期

[英]Mule - Converting String to Date

I have a csv file which looks like this : 我有一个csv文件,看起来像这样:

在此处输入图片说明

I am iterating the CSV file using For each after converting it to Java ArrayList using Dataweave. 在使用Dataweave将其转换为Java ArrayList之后,我将使用For Each迭代CSV文件。 Now, I need to convert one of the elements which is Date from String to Oracle Timestamp . 现在,我需要将Date元素之一从String转换为Oracle Timestamp Please help with your thoughts. 请帮助您的想法。 The source code looks like this : 源代码如下所示:

<flow name="testFlow">
    <file:inbound-endpoint path="src/main/resources/input" 
moveToDirectory="src/main/resources/output" connector-ref="File" 
responseTimeout="10000" doc:name="File"/>
    <dw:transform-message metadata:id="4e33c7ff-c33b-4c78-be34-79a154aa16df" 
doc:name="Transform Message">
        <dw:input-payload doc:sample="sample_data\list_csv.csv"/>
        <dw:set-payload><![CDATA[%dw 1.0
%output application/java
---
payload]]></dw:set-payload>
    </dw:transform-message>
    <logger level="INFO" doc:name="Logger"/>
    <foreach collection="#[payload]" doc:name="For Each">
        <logger message="#[payload]" level="INFO" doc:name="Logger"/>
    </foreach>
</flow>

Flow design looks like this : 流程设计如下所示:

在此处输入图片说明

Basically what you need to do is to convert the date field which is a string in csv to date format. 基本上,您需要做的是将日期字段(csv中的字符串)转换为日期格式。 To do it just provide the format of the incoming data field and it will work for the below input example(csv is comma separated) :- 为此,只需提供传入数据字段的格式,即可在以下输入示例中使用(csv以逗号分隔):-

foo,bar,Name,Date
foo1,baar1,Name1,15-01-2016 12:08
foo2,baar2,Name2,15-01-2016 12:08

you can try below dw :- 您可以在dw以下尝试:-

%dw 1.0
%output application/java
---
payload map {
    foo : $.foo,
    bar : $.bar,
    Name :  $.Name,
    Date : $.Date as :date {format: "dd-MM-yyyy hh:mm" }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM