基本上我想看看某人的生日是否在今天日期的 3 个月内。我将使用 Days 来执行此操作,只需说“90”天。
我的想法如下:
- 我将设置一个新的日期时间作为今天的日期,然后获取相关人员的出生日期。
- 然后,我想从 DOB 中获取日期和月份,从今天的日期中获取年份。
- 然后这些日子、月份和年份将合并为一个新的日期。
例如:
出生日期 04/05/1987
今天 10/05/2013
新生儿 04/05/2013
我怎样才能实现从一个日期获取天数/月数,从另一个日期获取年数并将它们放入一个日期的部分?
(只有关键因素,我知道这条规则不会运行)
import org.joda.time.ReadableInstant;
import org.joda.time.DateTime;
import org.joda.time.Days;
import org.joda.time.Months;
import org.joda.time.Years;
rule"Blah"
salience 1
when
Proposer($dob : dateOfBirth)
then
DateTime NewBirth = new DateTime()
DateTime today = new DateTime();
#grab DOB day and month
#grab Todays year
#turn "NewBirth" into a combination of the above 2 lines
int $birthday = (Days.daysBetween((ReadableInstant)today,(ReadableInstant)NewBirth).getDays());
If ($birthday <= 90){
logger.info("HURRRAAAYYYYYY");
}
end