2017-10-12 77 views
-3

因此,如果我提出的代码。它给了我数据库中正确的截止日期和正确的当前日期。我想要了解如何检查当前日期是否已到期。检查当前日期是否已到期

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); 
} 
+1

编辑您的问题,并提供样品数据和预期结果。 –

+0

此链接可能会帮助你https://www.mkyong.com/java/how-to-compare-dates-in-java/ – VelNaga

+0

谢谢你的男人! @VelNaga –

回答

0

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

让我们知道任何挑战。

+0

这个答案与Java 8中的java.time类的到来有些过时。 –

-1

您可以将当前最新和到期日为timestamp.Then通过比较这两时间戳的if-else statement.Then你会得到了解当前最新的到期日期或不。

+0

我已经得到了答案,谢谢! –

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以了解更多信息。

相关问题