Dataweave - 无法从日期中减去天数

时间:2016-07-19 04:52:58

标签: mule mule-component dataweave

我是Mule dataweave的新手。我坚持要求从当前日期减去30天。我花了两整天的时间在网上搜索,但绝对无法在网上找到任何有用的信息。我知道使用Groovy脚本的一种方法,但Dataweave是如此成熟和强大,不能买断没有做日期减法的选项。

提前感谢您提供的任何专家指导以提供解决方案! :)

供参考.. - 日期noticeDate = currentDate - 30天。

2 个答案:

答案 0 :(得分:0)

要从当前日期减去30天,您可以使用:

DataWeave代码:

%dw 1.0
%output application/json
---
{
    today: now,
    lastMonth: now - |P30D|
}

或Groovy代码:

import groovy.time.TimeCategory;

now = new Date();
println now;

use(TimeCategory) {
    lastMonth = now - 30.days;
    println lastMonth;
}

答案 1 :(得分:0)

我们可以尝试使用XQuery 1.0和XPath 2.0函数和运算符来实现日期和时间函数。通过以下链接

https://www.w3.org/TR/xpath-functions/#durations-dates-times

https://docs.mulesoft.com/mule-user-guide/v/3.7/xslt-transformer