Java两个日期对象比较大小……?

时间:2021-03-20 20:19:23
Java中相比两个日期对象的大小

Date是从Util包下导入的。
    Date date1=new Date("2009/2/2");
    Date date2=new Date("2010/2/2");

怎样比较呀?
我尝试过用compareTo了,不行!

49 个解决方案

#1


我觉得可以。

#2


通过 getTime() 得到的毫秒数,进行比较。

#3


class Date {
int year;
int month;
int day;

Date(int y, int m, int d) {
year = y;
month = m;
day = d;
}

public int compare(Date date) {
return year > date.year ? 1 
: year < date.year ? -1
: month > date.month ? 1
: month < date.month ? -1
: day > date.day ? 1
: day < date.day ?-1
: 0;

}

public String toString() {
   return "Year:Month:Day -- " + year + "-" + month + "-" + day;
  }
}

class Test {
public static void main(String args[]) {
Date[] days = new Date[5];
days[0] = new Date(2006, 5, 4);
days[1] = new Date(2006, 7, 4);
days[2] = new Date(2008, 5, 4);
days[3] = new Date(2004, 5, 9);
days[4] = new Date(2004, 5, 4);

Date d = new Date(2009, 7, 4);

bubbleSort(days);

for(int i=0; i<days.length; i++) {
System.out.println(days[i]);
}

System.out.println(binarySearch(days, d));
}

static Date[] bubbleSort(Date[] a) {
int len = a.length;
for(int i=len-1; i>=1; i--) {
for(int j=0; j<=i-1; j++) {
if(a[j].compare(a[i]) > 0) {
Date temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
return a;
  }

}

#4


date1.after(date2)
date1.before(date2)

#5


date1.after(date2)
date1.before(date2)
可以进行比较

#6


引用 2 楼 bastengao 的回复:
通过 getTime() 得到的毫秒数,进行比较。

    。。 OK   

#7


引用 1 楼 michaellufhl 的回复:
我觉得可以。


Date date1=new Date("2009/2/2");
Date date2=new Date("2010/2/2");
System.out.println(date1.compareTo(date2)==0?"date1=date2":"date1!=date2");
System.out.println(date1.compareTo(date2)>0?"date1>date2":"date1<date2");

#8


引用 4 楼 yang4187668 的回复:
date1.after(date2)
date1.before(date2)


+1

#9


+2
引用 7 楼 cl61917380 的回复:
引用 1 楼 michaellufhl 的回复:
我觉得可以。


Java code

        Date date1=new Date("2009/2/2");
        Date date2=new Date("2010/2/2");
        System.out.println(date1.compareTo(date2)==0?"date1=date2……

#10


Date aDate = new Date("2010-08-01");
Date bDate = new Date("2010-08-06");

if(aDate.before(bDate)){
System.out.println("之前");
}else if (aDate.after(bDate)) {
System.out.println("之后");
}

用这个可以不???

#11


Lz 尝试一下,应该没有问题~~

#12


引用 11 楼 ibookvip 的回复:
Lz 尝试一下,应该没有问题~~

("2010-08-01") 你的字符串格式错了

#13



public static void main(String[] args) {
Date date1 = new Date("2010/2/2");
Calendar c1 = Calendar.getInstance();
c1.setTime(date1);

Date date2 = new Date("2010/2/2");
Calendar c2 = Calendar.getInstance();
c2.setTime(date2);

System.out.println(c1.compareTo(c2));
}

用Calendar

#14


      这个应该可以 ,因为最近也是在做这个测试时间的比较 。经测试是可以的 。
          Date date1=new Date("2009/2/2");
         Date date2=new Date("2010/2/2");
 
       var startTmp=date1.split("/");   
       var endTmp=date2.split("/");   
       var sd=new Date(startTmp[0],startTmp[1],startTmp[2]);   
       var ed=new Date(endTmp[0],endTmp[1],endTmp[2]);   
       if(sd.getTime()<ed.getTime()){    
        alert("d1<d2");      
        return false;      
        }      

#15


引用 12 楼 cl61917380 的回复:
引用 11 楼 ibookvip 的回复:
Lz 尝试一下,应该没有问题~~

("2010-08-01") 你的字符串格式错了

不是错了,是那个构造过时了,但可以用。

#16


引用 14 楼 chenqqabcdchenqqabcd 的回复:
      这个应该可以 ,因为最近也是在做这个测试时间的比较 。经测试是可以的 。
          Date date1=new Date("2009/2/2");
         Date date2=new Date("2010/2/2");
 
       var startTmp=date1.split("/");   
       var endTmp=date2……


呵呵,是错了,应该是 “/”,不好意思

#17


上网找个dateUtil  好多各种各样的对时间的处理方法。

#18


这个可以
Date date1=new Date("2009/2/2");
Date date2=new Date("2010/2/2");

System.out.println(date1.compareTo(date2)==0?"date1=date2":"date1!=date2");
System.out.println(date1.compareTo(date2)>0?"date1>date2":"date1<date2");

#19


引用楼主 xiaofan_0204 的回复:
Java中相比两个日期对象的大小

Date是从Util包下导入的。
  Date date1=new Date("2009/2/2");
  Date date2=new Date("2010/2/2");

怎样比较呀?
我尝试过用compareTo了,不行!


//调用该方法(主方法) 
function dateDiff(date1, date2){ 
    var type1 = typeof date1, type2 = typeof date2; 
    if(type1 == 'string') 
    date1 = stringToTime(date1); 
    else if(date1.getTime) 
    date1 = date1.getTime(); 
    if(type2 == 'string') 
    date2 = stringToTime(date2); 
    else if(date2.getTime) 
    date2 = date2.getTime(); 
    return (date1 - date2) / 1000;//结果是秒 
}

//字符串转成Time(dateDiff)所需方法 
function stringToTime(string){ 
    var f = string.split(' ', 2); 
    var d = (f[0] ? f[0] : '').split('-', 3); 
    var t = (f[1] ? f[1] : '').split(':', 3); 
    return (new Date( 
    parseInt(d[0], 10) || null, 
    (parseInt(d[1], 10) || 1)-1, 
    parseInt(d[2], 10) || null, 
    parseInt(t[0], 10) || null, 
    parseInt(t[1], 10) || null, 
    parseInt(t[2], 10) || null 
    )).getTime(); 



//调用 dateDiff("2009-10-10 19:00:00","2009-10-10 18:00:00")


参考参考 可能对你有帮助。

#20


compareTo 和 getTime 转成当前时间的毫秒数 都是可以的

#21


Date(String s)是过时的构造函数,你传入的字符串应该是不能解析成你要的日期

使用DateFormat对字符串进行日期转换,然后再比较就可以了

#22


该回复于2010-08-10 17:23:30被版主删除

#23


大家都是好牛皮的一个呀

#24


<a href="www.baidu.com">百度</a>

#25


把时间转换为长整型比较

#26


你直接相减就可以了呀。

#27


时间的比较可以采用两种方式。
1,可以通过gettime()转换成毫秒数进行比较
2。采用date.after(),或date.befor();

#28


<a href="www.baidu.com">百度</a>

#29


引用 27 楼 liujun822 的回复:
时间的比较可以采用两种方式。
1,可以通过gettime()转换成毫秒数进行比较
2。采用date.after(),或date.befor();

我感觉这样也可以

#30


引用 14 楼 chenqqabcdchenqqabcd 的回复:
这个应该可以 ,因为最近也是在做这个测试时间的比较 。经测试是可以的 。
  Date date1=new Date("2009/2/2");
  Date date2=new Date("2010/2/2");
 
  var startTmp=date1.split("/");  
  var endTmp=date2.split("/");  
  var sd=new Date……

LG比较时间的方法很多,自己去试一试 看哪种方法最方便 掌握一种就可以了

#31


Date date =  new Date(2010-1900,7,13);
//Date date1 =  new Date(2010-1900,7,12);
//Date date1 =  new Date(2010-1900,7,13);
Date date1 =  new Date(2010-1900,7,14);
System.out.println(date.compareTo(date1));
compareTo是可以比较的  分别返回 -1 ,0 ,1

#32


引用 4 楼 yang4187668 的回复:
date1.after(date2)
date1.before(date2)

这个好用

#33


怎样直接相减呀

#34


取得毫秒.然后相减啊

#35


package com.fit.test;

import java.util.Date;

public class TestData {

/**
 * @param args
 */
public static void main(String[] args) {
Date date = new Date(2010,8,13);
//Date date1 = new Date(2010-1900,7,12);
//Date date1 = new Date(2010-1900,7,13);
Date date1 = new Date(2010,8,14);
System.out.println(date.compareTo(date1));
}

}
输出结果是:-1
日期比较式按数字比较的,从左向右依次比较,如果前面的大,就不进行后面的比较了,就返回1,如果形同再往后比较。相同返回0

#36


引用 24 楼 wang062501 的回复:
<a href="www.baidu.com">百度</a>
这位兄台的html学的不错

#37


可利用比较器实现
一实现Comparator<T>接口
import java.util.*;
class Data2{
private int year;
private int month;
private int day;

public Data2(int y, int m, int d) {
setYear(y);
setMonth(m);
setDay(d);
}

public String toString() {
return "Year-Month-Day <---> " + getYear() + "-" + getMonth() + "-" + getDay();
}

public void setYear(int year) {
this.year = year;
}

public int getYear() {
return year;
}

public void setMonth(int month) {
this.month = month;
}

public int getMonth() {
return month;
}

public void setDay(int day) {
this.day = day;
}

public int getDay() {
return day;
}
}

class Data2Comparator implements Comparator<Data2>{ // 实现比较器
public int compare(Data2 data1,Data2 data2){
return data1.getYear() > data2.getYear() ? 1 : data1.getYear() < data2.getYear() ? -1
: data1.getMonth() > data2.getMonth() ? 1 : data1.getMonth() < data2.getMonth() ? -1
: data1.getDay() > data2.getDay() ? 1 : data1.getDay() < data2.getDay() ? -1 : 0;
}
}

public class ComparatorTest {
public static void main(String args[]) {
Data2[] days = {new Data2(2006, 5, 4),new Data2(2006, 7, 4),new Data2(2008, 5, 4),
new Data2(2004, 5, 9),new Data2(2004, 5, 4),new Data2(2009, 7, 4),new Data2(2010,8,8)};
Arrays.sort(days,new Data2Comparator());
for (int i = 0; i < days.length; i++) {
System.out.println(days[i]);
}
}
}



一实现Comparable<T>接口

import java.util.*;
class Data1 implements Comparable<Data1>{
private int year;
private int month;
private int day;
public Data1(int y, int m, int d) {
year = y;
month = m;
day = d;
}
public String toString() {
return "Year-Month-Day <---> " + year + "-" + month + "-" + day;
}
public int compareTo(Data1 data) {
return year > data.year ? 1 : year < data.year ? -1
: month > data.month ? 1 : month < data.month ? -1
: day > data.day ? 1 : day < data.day ? -1 : 0;
}
}

public class ComparableTest {
public static void main(String args[]) {
Data1[] days = {new Data1(2006, 5, 4),new Data1(2006, 7, 4),new Data1(2008, 5, 4),
new Data1(2004, 5, 9),new Data1(2004, 5, 4),new Data1(2009, 7, 4),new Data1(2010,8,8)};
Arrays.sort(days);
for (int i = 0; i < days.length; i++) {
System.out.println(days[i]);
}
}
}

#38


引用 36 楼 fanpeng613 的回复:
引用 24 楼 wang062501 的回复:

<a href="www.baidu.com">百度</a>
这位兄台的html学的不错

java.util.Date已经默认实现了Comparable

#39


四楼的  就是正解,简单方便。咋不给分哦

#40


直接调用gettime()就可以了吧,数毫秒数

#41


getTime()

#42


好好好,答案可是五花八门呀,收获甚高!

#43


引用 27 楼 liujun822 的回复:
时间的比较可以采用两种方式。
1,可以通过gettime()转换成毫秒数进行比较
2。采用date.after(),或date.befor();


#44


直接用compareTo就可以了。。。肯定没问题

#45


long da=date.getTime()  比较大小即可

#46


用 >号直接比较
d1>d2?d1:d2

#47


引用 4 楼 yang4187668 的回复:
date1.after(date2)
date1.before(date2)

差不多可以吧。

#48


什么事都有啊 compareTo 怎么就不行了 
compareTo
public int compareTo(Date anotherDate)比较两个日期的顺序。 

指定者:
接口 Comparable<Date> 中的 compareTo
参数:
anotherDate - 要比较的 Date。 
返回:
如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值;如果此 Date 在 Date 参数之后,则返回大于 0 的值。 
抛出: 
NullPointerException - 如果 anotherDate 为 null。
从以下版本开始: 
1.2 

#49


引用 27 楼 liujun822 的回复:
时间的比较可以采用两种方式。
1,可以通过gettime()转换成毫秒数进行比较
2。采用date.after(),或date.befor();

++++

#1


我觉得可以。

#2


通过 getTime() 得到的毫秒数,进行比较。

#3


class Date {
int year;
int month;
int day;

Date(int y, int m, int d) {
year = y;
month = m;
day = d;
}

public int compare(Date date) {
return year > date.year ? 1 
: year < date.year ? -1
: month > date.month ? 1
: month < date.month ? -1
: day > date.day ? 1
: day < date.day ?-1
: 0;

}

public String toString() {
   return "Year:Month:Day -- " + year + "-" + month + "-" + day;
  }
}

class Test {
public static void main(String args[]) {
Date[] days = new Date[5];
days[0] = new Date(2006, 5, 4);
days[1] = new Date(2006, 7, 4);
days[2] = new Date(2008, 5, 4);
days[3] = new Date(2004, 5, 9);
days[4] = new Date(2004, 5, 4);

Date d = new Date(2009, 7, 4);

bubbleSort(days);

for(int i=0; i<days.length; i++) {
System.out.println(days[i]);
}

System.out.println(binarySearch(days, d));
}

static Date[] bubbleSort(Date[] a) {
int len = a.length;
for(int i=len-1; i>=1; i--) {
for(int j=0; j<=i-1; j++) {
if(a[j].compare(a[i]) > 0) {
Date temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
return a;
  }

}

#4


date1.after(date2)
date1.before(date2)

#5


date1.after(date2)
date1.before(date2)
可以进行比较

#6


引用 2 楼 bastengao 的回复:
通过 getTime() 得到的毫秒数,进行比较。

    。。 OK   

#7


引用 1 楼 michaellufhl 的回复:
我觉得可以。


Date date1=new Date("2009/2/2");
Date date2=new Date("2010/2/2");
System.out.println(date1.compareTo(date2)==0?"date1=date2":"date1!=date2");
System.out.println(date1.compareTo(date2)>0?"date1>date2":"date1<date2");

#8


引用 4 楼 yang4187668 的回复:
date1.after(date2)
date1.before(date2)


+1

#9


+2
引用 7 楼 cl61917380 的回复:
引用 1 楼 michaellufhl 的回复:
我觉得可以。


Java code

        Date date1=new Date("2009/2/2");
        Date date2=new Date("2010/2/2");
        System.out.println(date1.compareTo(date2)==0?"date1=date2……

#10


Date aDate = new Date("2010-08-01");
Date bDate = new Date("2010-08-06");

if(aDate.before(bDate)){
System.out.println("之前");
}else if (aDate.after(bDate)) {
System.out.println("之后");
}

用这个可以不???

#11


Lz 尝试一下,应该没有问题~~

#12


引用 11 楼 ibookvip 的回复:
Lz 尝试一下,应该没有问题~~

("2010-08-01") 你的字符串格式错了

#13



public static void main(String[] args) {
Date date1 = new Date("2010/2/2");
Calendar c1 = Calendar.getInstance();
c1.setTime(date1);

Date date2 = new Date("2010/2/2");
Calendar c2 = Calendar.getInstance();
c2.setTime(date2);

System.out.println(c1.compareTo(c2));
}

用Calendar

#14


      这个应该可以 ,因为最近也是在做这个测试时间的比较 。经测试是可以的 。
          Date date1=new Date("2009/2/2");
         Date date2=new Date("2010/2/2");
 
       var startTmp=date1.split("/");   
       var endTmp=date2.split("/");   
       var sd=new Date(startTmp[0],startTmp[1],startTmp[2]);   
       var ed=new Date(endTmp[0],endTmp[1],endTmp[2]);   
       if(sd.getTime()<ed.getTime()){    
        alert("d1<d2");      
        return false;      
        }      

#15


引用 12 楼 cl61917380 的回复:
引用 11 楼 ibookvip 的回复:
Lz 尝试一下,应该没有问题~~

("2010-08-01") 你的字符串格式错了

不是错了,是那个构造过时了,但可以用。

#16


引用 14 楼 chenqqabcdchenqqabcd 的回复:
      这个应该可以 ,因为最近也是在做这个测试时间的比较 。经测试是可以的 。
          Date date1=new Date("2009/2/2");
         Date date2=new Date("2010/2/2");
 
       var startTmp=date1.split("/");   
       var endTmp=date2……


呵呵,是错了,应该是 “/”,不好意思

#17


上网找个dateUtil  好多各种各样的对时间的处理方法。

#18


这个可以
Date date1=new Date("2009/2/2");
Date date2=new Date("2010/2/2");

System.out.println(date1.compareTo(date2)==0?"date1=date2":"date1!=date2");
System.out.println(date1.compareTo(date2)>0?"date1>date2":"date1<date2");

#19


引用楼主 xiaofan_0204 的回复:
Java中相比两个日期对象的大小

Date是从Util包下导入的。
  Date date1=new Date("2009/2/2");
  Date date2=new Date("2010/2/2");

怎样比较呀?
我尝试过用compareTo了,不行!


//调用该方法(主方法) 
function dateDiff(date1, date2){ 
    var type1 = typeof date1, type2 = typeof date2; 
    if(type1 == 'string') 
    date1 = stringToTime(date1); 
    else if(date1.getTime) 
    date1 = date1.getTime(); 
    if(type2 == 'string') 
    date2 = stringToTime(date2); 
    else if(date2.getTime) 
    date2 = date2.getTime(); 
    return (date1 - date2) / 1000;//结果是秒 
}

//字符串转成Time(dateDiff)所需方法 
function stringToTime(string){ 
    var f = string.split(' ', 2); 
    var d = (f[0] ? f[0] : '').split('-', 3); 
    var t = (f[1] ? f[1] : '').split(':', 3); 
    return (new Date( 
    parseInt(d[0], 10) || null, 
    (parseInt(d[1], 10) || 1)-1, 
    parseInt(d[2], 10) || null, 
    parseInt(t[0], 10) || null, 
    parseInt(t[1], 10) || null, 
    parseInt(t[2], 10) || null 
    )).getTime(); 



//调用 dateDiff("2009-10-10 19:00:00","2009-10-10 18:00:00")


参考参考 可能对你有帮助。

#20


compareTo 和 getTime 转成当前时间的毫秒数 都是可以的

#21


Date(String s)是过时的构造函数,你传入的字符串应该是不能解析成你要的日期

使用DateFormat对字符串进行日期转换,然后再比较就可以了

#22


该回复于2010-08-10 17:23:30被版主删除

#23


大家都是好牛皮的一个呀

#24


<a href="www.baidu.com">百度</a>

#25


把时间转换为长整型比较

#26


你直接相减就可以了呀。

#27


时间的比较可以采用两种方式。
1,可以通过gettime()转换成毫秒数进行比较
2。采用date.after(),或date.befor();

#28


<a href="www.baidu.com">百度</a>

#29


引用 27 楼 liujun822 的回复:
时间的比较可以采用两种方式。
1,可以通过gettime()转换成毫秒数进行比较
2。采用date.after(),或date.befor();

我感觉这样也可以

#30


引用 14 楼 chenqqabcdchenqqabcd 的回复:
这个应该可以 ,因为最近也是在做这个测试时间的比较 。经测试是可以的 。
  Date date1=new Date("2009/2/2");
  Date date2=new Date("2010/2/2");
 
  var startTmp=date1.split("/");  
  var endTmp=date2.split("/");  
  var sd=new Date……

LG比较时间的方法很多,自己去试一试 看哪种方法最方便 掌握一种就可以了

#31


Date date =  new Date(2010-1900,7,13);
//Date date1 =  new Date(2010-1900,7,12);
//Date date1 =  new Date(2010-1900,7,13);
Date date1 =  new Date(2010-1900,7,14);
System.out.println(date.compareTo(date1));
compareTo是可以比较的  分别返回 -1 ,0 ,1

#32


引用 4 楼 yang4187668 的回复:
date1.after(date2)
date1.before(date2)

这个好用

#33


怎样直接相减呀

#34


取得毫秒.然后相减啊

#35


package com.fit.test;

import java.util.Date;

public class TestData {

/**
 * @param args
 */
public static void main(String[] args) {
Date date = new Date(2010,8,13);
//Date date1 = new Date(2010-1900,7,12);
//Date date1 = new Date(2010-1900,7,13);
Date date1 = new Date(2010,8,14);
System.out.println(date.compareTo(date1));
}

}
输出结果是:-1
日期比较式按数字比较的,从左向右依次比较,如果前面的大,就不进行后面的比较了,就返回1,如果形同再往后比较。相同返回0

#36


引用 24 楼 wang062501 的回复:
<a href="www.baidu.com">百度</a>
这位兄台的html学的不错

#37


可利用比较器实现
一实现Comparator<T>接口
import java.util.*;
class Data2{
private int year;
private int month;
private int day;

public Data2(int y, int m, int d) {
setYear(y);
setMonth(m);
setDay(d);
}

public String toString() {
return "Year-Month-Day <---> " + getYear() + "-" + getMonth() + "-" + getDay();
}

public void setYear(int year) {
this.year = year;
}

public int getYear() {
return year;
}

public void setMonth(int month) {
this.month = month;
}

public int getMonth() {
return month;
}

public void setDay(int day) {
this.day = day;
}

public int getDay() {
return day;
}
}

class Data2Comparator implements Comparator<Data2>{ // 实现比较器
public int compare(Data2 data1,Data2 data2){
return data1.getYear() > data2.getYear() ? 1 : data1.getYear() < data2.getYear() ? -1
: data1.getMonth() > data2.getMonth() ? 1 : data1.getMonth() < data2.getMonth() ? -1
: data1.getDay() > data2.getDay() ? 1 : data1.getDay() < data2.getDay() ? -1 : 0;
}
}

public class ComparatorTest {
public static void main(String args[]) {
Data2[] days = {new Data2(2006, 5, 4),new Data2(2006, 7, 4),new Data2(2008, 5, 4),
new Data2(2004, 5, 9),new Data2(2004, 5, 4),new Data2(2009, 7, 4),new Data2(2010,8,8)};
Arrays.sort(days,new Data2Comparator());
for (int i = 0; i < days.length; i++) {
System.out.println(days[i]);
}
}
}



一实现Comparable<T>接口

import java.util.*;
class Data1 implements Comparable<Data1>{
private int year;
private int month;
private int day;
public Data1(int y, int m, int d) {
year = y;
month = m;
day = d;
}
public String toString() {
return "Year-Month-Day <---> " + year + "-" + month + "-" + day;
}
public int compareTo(Data1 data) {
return year > data.year ? 1 : year < data.year ? -1
: month > data.month ? 1 : month < data.month ? -1
: day > data.day ? 1 : day < data.day ? -1 : 0;
}
}

public class ComparableTest {
public static void main(String args[]) {
Data1[] days = {new Data1(2006, 5, 4),new Data1(2006, 7, 4),new Data1(2008, 5, 4),
new Data1(2004, 5, 9),new Data1(2004, 5, 4),new Data1(2009, 7, 4),new Data1(2010,8,8)};
Arrays.sort(days);
for (int i = 0; i < days.length; i++) {
System.out.println(days[i]);
}
}
}

#38


引用 36 楼 fanpeng613 的回复:
引用 24 楼 wang062501 的回复:

<a href="www.baidu.com">百度</a>
这位兄台的html学的不错

java.util.Date已经默认实现了Comparable

#39


四楼的  就是正解,简单方便。咋不给分哦

#40


直接调用gettime()就可以了吧,数毫秒数

#41


getTime()

#42


好好好,答案可是五花八门呀,收获甚高!

#43


引用 27 楼 liujun822 的回复:
时间的比较可以采用两种方式。
1,可以通过gettime()转换成毫秒数进行比较
2。采用date.after(),或date.befor();


#44


直接用compareTo就可以了。。。肯定没问题

#45


long da=date.getTime()  比较大小即可

#46


用 >号直接比较
d1>d2?d1:d2

#47


引用 4 楼 yang4187668 的回复:
date1.after(date2)
date1.before(date2)

差不多可以吧。

#48


什么事都有啊 compareTo 怎么就不行了 
compareTo
public int compareTo(Date anotherDate)比较两个日期的顺序。 

指定者:
接口 Comparable<Date> 中的 compareTo
参数:
anotherDate - 要比较的 Date。 
返回:
如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值;如果此 Date 在 Date 参数之后,则返回大于 0 的值。 
抛出: 
NullPointerException - 如果 anotherDate 为 null。
从以下版本开始: 
1.2 

#49


引用 27 楼 liujun822 的回复:
时间的比较可以采用两种方式。
1,可以通过gettime()转换成毫秒数进行比较
2。采用date.after(),或date.befor();

++++