2017-10-12 76 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以瞭解更多信息。

相關問題