如何在Java中设置截止日期而不硬编码值

如何在Java中设置截止日期而不硬编码值,java,datetime,Java,Datetime,我需要设置一个程序来比较一个日期对象(比如date对象1)的创建日期和另一个表示截止日期的未来日期或日期对象(比如date对象2)。例如,如果我创建一个初始日期时间对象,我希望能够将当前的创建日期与所述日期(截止日期)后18天的日期进行比较。我不希望硬编码实际日期和截止日期。它应该返回bool(当当前日期等于或晚于截止日期时为true,否则为false)。最后,我希望将截止日期存储在外部数据库中,然后在适当的时候将所述截止日期与当前日期进行比较 我可以使用下面的代码获取当前日期,但不确定如何通过

我需要设置一个程序来比较一个日期对象(比如date对象1)的创建日期和另一个表示截止日期的未来日期或日期对象(比如date对象2)。例如,如果我创建一个初始日期时间对象,我希望能够将当前的创建日期与所述日期(截止日期)后18天的日期进行比较。我不希望硬编码实际日期和截止日期。它应该返回bool(当当前日期等于或晚于截止日期时为true,否则为false)。最后,我希望将截止日期存储在外部数据库中,然后在适当的时候将所述截止日期与当前日期进行比较

我可以使用下面的代码获取当前日期,但不确定如何通过指定从当前日期算起的“x”天来获取截止日期,而不是硬编码日期值

我知道如何创建日期对象(如下所示),但我希望能够创建与当前创建日期相对应的截止日期对象,将截止日期存储在数据库中,同时不断将当前日期与截止日期进行比较

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd");
LocalDate localDate = LocalDate.now();
System.out.println(dtf.format(localDate)); //2016/11/16
创建一个你所说的“非硬编码的截止日期”

LocalDate currentDate = LocalDate.now();
LocalDate deadline = LocalDate.now().plusDays(10); // x = 10
storeDb(deadline);
随后进行最后期限检查

LocalDate deadline = getDeadlineFromDb();
LocalDate currentDate = LocalDate.now();
if (currentDate.isAfter(deadline)) {
    // deadline has passed
}

有关更多详细信息,请查看

LocalDate.now().plusDays(x)
?看看-使用java8版本。我喜欢它们飞过时发出的嗖嗖声Douglas AdamsAlways在发布前彻底搜索堆栈溢出。