我是流口水的相对新手,我正在拉我的头发来实现以下场景。
我有一个日期列表,比方说10个日期。现在,我必须在这些元素中应用一组规则来查找满足所有规则的4个日期的匹配集。
假设以下是规则。如何在流氓中迭代这个并在提供的10个日期中找到四个日期。
date2> date1 + (6W - 4D)
date3> date2 + (4W - 4D)
date4 > date3 + (6M - 4D)
date4 > date1 + (4Y - 4D)
答案 0 :(得分:1)
我建议你创建一个知道如何使用日期算术的助手类。
public class Helper {
public static Date calculate(Date source, String expression) {
//Do the magic
}
}
然后,您可以在规则中使用此帮助程序类,如下所示:
rule "Find subset"
when
$d1: Date()
$d2: Date(this > Helper.calculate($d1, "6W-4D"))
$d3: Date(this > Helper.calculate($d2, "4W-4D"))
$d4: Date(
this > Helper.calculate($d1, "4Y-4D"),
this > Helper.calculate($d3, "6M-4D")
)
then
//Do whatever you need
end
希望它有所帮助,