当前位置: 首页 > 知识库问答 >
问题:

Dataweave 2.0-无法强制字符串为LocalDateTime

岳佐
2023-03-14

我得到一个包含数据的CSV文件,并将其转换为application/java。

我在DataWeave2.0转换中使用了这段代码,因为我想在输入的dateTime中再添加一个小时:

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

共有1个答案

闾丘卓
2023-03-14

若要添加或修改部分数据,如添加小时,应转换为LocalDateTime,然后使用Period向DateTime添加特定的时间段。还需要以毫秒为单位根据预期的输入/输出进行格式化。尝试这样做,但是在您的示例中将pretendPayload更改为payload:

%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

 类似资料:
  • 我有一个字符串作为DateTime,类似于。

  • 问题内容: 我必须将PHP数组json_encode编码为JavaScript数组。不幸的是,如果我使用的jQuery库包含int而不是字符串,则无法正确处理该数组。 大多数情况下,这将产生仅包含字符串的适当数组: 即使$ data仅包含数字,我通常也会得到这个 但是有时候,我得到这样的结果(注意零): 或这个 (请注意,这显然是不同的数据以说明正在发生的事情)。我需要强制json_encode将

  • 我正在开发一个Java应用程序,遇到了一个我自己似乎无法解决的问题。 我在上设置了,只允许数字输入,但是默认值是文本。我有一个按钮,可以将s重置为默认值,但由于的原因,它无法正常工作。 我怎样才能克服这个问题? 谢啦

  • 我正在尝试从Rust官网链接的Rust书籍中编译以下代码。 在编译时,它会引发以下错误 /devl/rust/BC _ 09/src/main . RS:7:17:7:19错误:不匹配的类型:应为< code > /devl/rust/bc_09/src/main.rs:7takes_slice( 以下是我正在运行的 Rust 版本:rustc 1.0.0-nightly (44a287e6e 2

  • 问题内容: 假设我有一些这样的XML 下面的代码实现了我想要的功能,它将标题输出为字符串 这是我的问题。下面的代码在该上下文中未将标题视为字符串,因此我最终在数组中使用了SimpleXML对象而不是字符串。 我一直在这样解决 但这看起来很丑。 无论上下文如何,将SimpleXML对象强制为字符串的最佳方法是什么? 问题答案: 将SimpleXMLObject类型转换为字符串: 上面的代码在内部调用