[英]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)){
}
您不應比較日期的字符串表示形式,而應使用實際的對象。 如果date2
是java.sql.Date
或java.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.