检查当前日期是否已到期

时间:2017-10-12 11:06:33

标签: java sql date

所以这就是我提出的代码。它为我提供了数据库中正确的截止日期和正确的当前日期。我想研究如何检查当前日期是否已到期。

String search = "SELECT * FROM tbltransaction"; 
PreparedStatement ps2 = con.prepareStatement(search);

ResultSet rs2;
rs2 = ps2.executeQuery();
try{
   if(rs2.next()){
   SimpleDateFormat formattedDate = new SimpleDateFormat("yyyy-MM-dd");
   String dateOfDue = (String)(formattedDate.format(rs2.getDate("dateOfReturn").getTime()));
   Date dateToday = new Date();
   }
}catch(Exception e){
   System.err.println(e);
}

3 个答案:

答案 0 :(得分:0)

您可以通过java.util.Date实现它,也可以使用Apache公共DateUtils。以下链接可能对您有所帮助。 Compare Dates

让我们知道任何挑战。

答案 1 :(得分:0)

java.time

问题和其他答案使用现在遗留下来的麻烦的旧类,取而代之的是Java 8及更高版本中内置的java.time类。

LocalDate类用于仅限日期的值,没有时间和没有时区。

使用getObject而不是getDate使用符合JDBC 4.2或更高版本的驱动程序从数据库中检索。

LocalDate ld = rs2.getObject( "dateOfReturn" , LocalDate.class ) ;

考虑时区对于确定当前日期至关重要。对于任何给定的时刻,日期因地区而异。例如,Pacific/Auckland中的新日期早于America/Montreal

ZoneId z = `Asia/Kolkata` ;
LocalDate today = LocalDate.now( z ) ;

使用isEqualisBeforeisAfter方法进行比较。

Boolean expired = ld.isBefore( today ) ;  

此主题已经多次讨论过了。因此,请搜索Stack Overflow以了解更多信息。

答案 2 :(得分:-1)

您可以将当前日期和截止日期转换为时间戳。然后使用if-else语句比较这两个时间戳。然后您将了解当前日期是否到期日。