Слюни, работающие с датами

В официальной документации я не могу найти никакой информации о том, как писать условные заявления для полей фактов java.util.Date, в управляемых правилах. Например, как сравнить это поле с текущей датой, проверить, равно ли оно, равное опусканию времени, или проверить, является ли это датой до некоторого времени?

2 ответа

Drools не является программой реального времени, и у нее нет врожденной идеи о времени или сейчас. Если вам нужно исследовать отношения некоторого свойства факта в какой-то момент времени X, вам нужно будет установить факт, несущий X как его данные, и напишите ваши правила на основе этого.

Более или менее грубая аппроксимация факта, представляющего сейчас, может быть выполнена с использованием таймеров. Вы можете реализовать правило, которое изменяет факт, содержащий значение, представляющее Time (например, java.util.Date) каждую секунду или реже.

Смешение времени суток - это то, что вам нужно будет сделать, используя функции Java или DRL. Кроме того, если вы интересуетесь днями, используйте какой-то пользовательский класс, представляющий дни, с определенным подходящим днем 1, определенным вами.


вы можете дать как

inputDate>=11-Nov-2014 provide your current date to inputDate rule input Fact variable.

licensed under cc by-sa 3.0 with attribution.