比较两个时间,不用自己写date.getTime()然后相减,java有提供给我们这个方法-compareTo;
两个Date类型的变量可以通过compareTo方法来比较。此方法的描述是这样的:
如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值;
如果此 Date 在 Date 参数之后,则返回大于 0 的值。
实际上比较的是自1970 年 1 月 1 日 00:00:00 GMT以来的毫秒数。毫秒数越大的时间越大。如:
- import java.text.DateFormat;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- public class DateCompare {
- /**
- * @param args
- * @throws ParseException
- */
- public static void main(String[] args) throws ParseException {
- String DateStr1 = "2011-11-1 11:11:11";
- String DateStr2 = "2011-11-07 15:15:15";
- DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Date dateTime1 = dateFormat.parse(DateStr1);
- Date dateTime2 = dateFormat.parse(DateStr2);
- int i = dateTime1.compareTo(dateTime2);
- System.out.println(i < 0);
- }
- }
打印出:true
附:jap页面上用struts标签比较两个时间
<s:set name="todayTime" value="new java.util.Date()"/>
<s:if test="#todayTime.compareTo(#pl.endTime)<0">//如果今天这个时间小于目标时间