簡體   English   中英

數據庫日期和當前日期的比較

[英]Comparison of database date and current date

DB日期為11-18-2011 03:40:56,當前日期的格式相同。 怎么比較? 我已經實現了以下內容,但未給出正確的結果。 下面是我的代碼。

Calendar calendar = Calendar.getInstance();
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat formatter=   new SimpleDateFormat("MM-dd-yyyy HH:mm:ss");
String dateNow = formatter.format(currentDate.getTime());

if(datenow.toString.equals(date2)){

}

您不應比較日期的字符串表示形式,而應使用實際的對象。 如果date2java.sql.Datejava.util.Date ,則可以使用new Date().equals(date2)

請注意,日期以毫秒為單位存儲,因此您可能需要在比較之前刪除不需要的字段,或者使用Apache Commons的DateUtils ,例如DateUtils.isSameDay(date2, new Date());

我完全同意托馬斯的方法; 將日期從String表示形式轉換為特定於日期的類型,例如java.util.Date ,然后可以將其用於所需的任何比較。 為了清晰起見,我想舉一個更具體的例子來詳細說明:

DateFormat formatter = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss");

// convert to a Date
String dateString = "11-18-2011 03:40:56";
Date date = formatter.parse(dateString);

// comparisons as required
int comparison = date.compareTo(new Date());
boolean isNow = date.equals(new Date());

如果您的程序經常需要進行此類轉換和比較,那么建議您看一下Joda-Time

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM