我使用 RichFaces 日历组件。我使用 Rich Faces 3 并且有两个日历组件。
如何以这种方式比较两个日期值,这两个值中的一个值可能高于另一个值?
这两个值将以这种方式初始化:
Date startDate = new Date();
Date endDate = new Date();
现在我的用户可以在 Rich Faces 日历中选择 DateValues,所选值将保存在变量中。
我如何比较这两个值?
格雷茨
你检查过文档吗?根据您的需要,有很多用于比较的方法compareTo()
,等等。您还可以使用该方法来查找自每次纪元以来的毫秒数,然后您可以操作这些以查找时间之间的时间跨度。before()
after()
getTime()
http://docs.oracle.com/javase/6/docs/api/java/util/Date.html
您可以使用compareTo
方法Date
进行比较
compareTo(Date anotherDate)
方法返回_
如果参数 Date 等于此 Date,则值为 0;如果此 Date 在 Date 参数之前,则值小于 0;如果此 Date 在 Date 参数之后,则值大于 0。
compareTo(Date date) 是 Date 类的一个方法,它比较两个日期这个方法:
如果两个日期相等,则返回值为 0。
如果 Date 在 date 参数之后,则返回值大于 0 。
如果 Date 在 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");
}
要比较两个日期,您应该使用 compareTo() 方法:
if(startDate.compareTo(endDate) > 0)
这种方法