我使用RichFaces日曆組件工作。我使用Rich Faces 3並擁有兩個日曆組件。如何在Java中比較兩個不同的Date值?
如何以這種方式比較兩個日期值,這兩個值可以高於另一個?
兩個值將在該方式初始化:
Date startDate = new Date();
Date endDate = new Date();
現在,我的用戶可以選擇在DateValues豐富面臨日曆UND選定值將被保存在變量。
如何比較這兩個值?
格爾茨
我使用RichFaces日曆組件工作。我使用Rich Faces 3並擁有兩個日曆組件。如何在Java中比較兩個不同的Date值?
如何以這種方式比較兩個日期值,這兩個值可以高於另一個?
兩個值將在該方式初始化:
Date startDate = new Date();
Date endDate = new Date();
現在,我的用戶可以選擇在DateValues豐富面臨日曆UND選定值將被保存在變量。
如何比較這兩個值?
格爾茨
您是否檢查過文檔?有方法compareTo()
,before()
,after()
等很多選項進行比較取決於您的需求。 您也可以使用getTime()
方法來查找自每個時代以來的毫秒數,然後您可以操縱這些數據以找出時間之間的時間間隔。
http://docs.oracle.com/javase/6/docs/api/java/util/Date.html
可以使用的Date
compareTo
方法做對比
的compareTo(Date anotherDate)
方法返回
值0如果參數日期等於這個日期;如果此Date在Date參數之前,則值小於 ;如果此日期在Date參數之後,則值大於0的值爲 。
要在兩個日期比較,你應該使用的compareTo()方法:
if(startDate.compareTo(endDate) > 0)
這種方法
的compareTo(日期日期)是日期類,進行比較的方法的兩個日期 此方法:
返回值是0,如果兩個日期相等。
如果Date在日期參數之後,則返回值大於0。
如果Date在日期參數之前,則返回值小於0。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse("2012-10-31");
Date date2 = sdf.parse("2013-01-21");
if(date1.compareTo(date2)>0){
System.out.println("Date1 is after Date2");
}else if(date1.compareTo(date2)<0){
System.out.println("Date1 is before Date2");
}else if(date1.compareTo(date2)==0){
System.out.println("Date1 is same as Date2");
}else{
System.out.println("never gets executed");
}
我下投票。在發佈此問題之前,您已經顯示過零研究的跡象。 –
[Java中比較日期]的可能重複(http://stackoverflow.com/questions/2592501/compare-dates-in-java) –