如何使用dataweave mule获取数组中的最大日期时间

问题描述 投票:0回答:1

我有输入数组如下

   [{"modifiedDate":"2015-07-01T01:00:00.521"},{"modifiedDate":"2018-07-01T03:23:00.654"},{"modifiedDate":"2017-03-14T11:25:35.877"},{"modifiedDate":"2018-06-01T05:23:00.712"}]

出于上述输入,我应该只获得最高的日期时间。我怎么能在dataweave中做到这一点

mule mule-studio mule-component dataweave mule-esb
1个回答
0
投票
(payload orderBy (($.modifiedDate ++ "Z") as :datetime {format: "yyyy-MM-dd'T'HH:mm:ss.SSSX"} as :number {unit: "milliseconds"}))[-1]

每个modifiedDate都转换为日期时间(添加“Z”,因为给定的日期没有时区信息,localdatetime不强制数字)然后转换为毫秒,然后按升序排序。 [-1]选择器采用最后一项,即最大日期。

输出是{"modifiedDate":"2018-07-01T03:23:00.654"}

© www.soinside.com 2019 - 2024. All rights reserved.