所以这就是我提出的代码。它为我提供了数据库中正确的截止日期和正确的当前日期。我想研究如何检查当前日期是否已到期。
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);
}
答案 0 :(得分:0)
您可以通过java.util.Date实现它,也可以使用Apache公共DateUtils。以下链接可能对您有所帮助。 Compare Dates
让我们知道任何挑战。
答案 1 :(得分:0)
问题和其他答案使用现在遗留下来的麻烦的旧类,取而代之的是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 ) ;
使用isEqual
,isBefore
和isAfter
方法进行比较。
Boolean expired = ld.isBefore( today ) ;
此主题已经多次讨论过了。因此,请搜索Stack Overflow以了解更多信息。
答案 2 :(得分:-1)
您可以将当前日期和截止日期转换为时间戳。然后使用if-else语句比较这两个时间戳。然后您将了解当前日期是否到期日。