两个日期之间的区别在骡子的dw脚本中

时间:2017-10-25 18:51:03

标签: datetime mule dataweave

我收到一个日期字段的JSON请求,我的JSON请求是(它始终只有这种格式): -

{
    MyDate:"28:00"
}

我的要求是,如果值大于24,则用24减去该值并返回结果。下面是我实现DW脚本的逻辑(我将Json转换为XML)

%dw 1.0
%output application/xml
%var checkdate= "24:00"  as :datetime {format: "HH:mm"}

---
Logic:{

    FinalValue: payload.MyDate when payload.MyDate [0..1] <"24" otherwise (

                    FinalValue: (("payload.MyDate " as :datetime) - ( checkdate as :datetime)))

}

问题: - 我的其他情况不适合上面的示例请求,我的输出应该是

<Logic>
<FinalValue>04:00AM</FinalValue>
</Logic>

1 个答案:

答案 0 :(得分:0)

您可以针对您提供的输入尝试以下逻辑: -

%dw 1.0
%output application/xml
---
Logic:{

    FinalValue: payload.MyDate when ((payload.MyDate[0..1] as :number)  < 24)
     otherwise  ((payload.MyDate[0..1] as :number) - 24) ++ (payload.MyDate[2..-1])

}