簡體   English   中英

Dataweave 2.0-無法將字符串強制為LocalDateTime

[英]Dataweave 2.0 - Cannot coerce String to LocalDateTime

我得到一個CSV文件,其中包含我轉換為application / java的數據。

字段(Creation_Date)之一是DateTime字段,我將其作為String獲取,因為輸出字段是字符串類型。

輸入字段: Creation_Date( String )- 示例 :2019-03-02 07:00:00.000

輸出字段: CreatedDate( String )- 示例 :2019-03-02 08:00:00.000

我在Dataweave 2.0轉換中使用了該代碼,因為我想在輸入日期時間中再增加一小時:

CreatedDate: payload.Creation_date as LocalDateFormat {format: "yyyy-MM-dd HH:mm:ss+01:00"}

但它返回一個錯誤:

 Cannot coerce a String to a Localdatetime, caused by CreatedDate

要添加或修改部分數據(例如添加小時數),應將其轉換為LocalDateTime,然后使用“期間”將特定時間段添加到日期時間。 還需要幾毫秒的時間來根據您期望的輸入/輸出進行格式化。 嘗試此操作,但是將您的示例的pretendPayload更改為有效負載:

%dw 2.0
output application/json
var pretendPayload = {Creation_date: "2019-03-02 07:00:00.000"}

type LocalDateFormat = LocalDateTime { format: "yyyy-MM-dd HH:mm:ss.SSS" }
---
{
    CreatedDate: (pretendPayload.Creation_date as LocalDateFormat + |PT1H|) as String{format: "yyyy-MM-dd HH:mm:ss.SSS" }
}

此處有關期間的信息: https : //docs.mulesoft.com/mule-runtime/4.1/dataweave-types#dw_type_dates_period

您可以在dataweave 2.0中使用now()。 檢查URL: https : //docs.mulesoft.com/mule-runtime/4.1/dw-core-functions-now

希望這會幫助你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM