【问题标题】:Mulesoft Dataweave zero zoned timestamp conversionMulesoft Dataweave 零分区时间戳转换
【发布时间】:2020-12-08 05:56:33
【问题描述】:

我希望将 Datetime 字段转换为 ZonedDatetime,但时间戳为零。 我有一个像下面这样的功能-

fun dateInSecToDateTimePST(d : String) = if (d != null)
                            (d as Number as DateTime {unit: "seconds"} >> "CST")
                        else null

这个输出是

2020-11-20T21:30:00-06:00

但我期望的输出如下-

2020-11-20T00:00:00-06:00

时间戳将始终保持为零,但带有偏移量。有什么建议吗?我正在使用%dw 2.0Mule4

【问题讨论】:

    标签: datetime dataweave mulesoft


    【解决方案1】:

    使用日期时间类型,您可以分解日期时间输入并将其与归零的时间片段连接在一起,如下所示:

    %dw 2.0
    output application/json
    fun dateInSecToDateTimePST(d : String) = do { 
        var date = (d as Number as DateTime {unit: "seconds"}) as Date
        var time = "00:00:00" as Time
        var zone = "CST" as TimeZone
        ---
        if (d != null)
            date ++ time ++ zone
        else null
    }
    ---
    dateInSecToDateTimePST(payload.time)
    

    如果需要,您也可以将时区设置为动态的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-23
      • 2018-08-01
      • 2019-12-25
      • 1970-01-01
      相关资源
      最近更新 更多