Java中Date的構造方法及大小比較

Java中Date的構造方法及大小比較

Date類在jdk1.1中就已經出現,算得上一個比較有歷史的類了,用來表示日期時間。在實際的工作中有時會涉及到對日期時間的一個比較,判斷兩個時間的先後順序。

首先來簡單的看一下Date類,因為在其使用過程發現其使用存在一些缺陷,Date類大多數的方法都已被棄用,但是還是有一些人在使用中。下面是Date的兩個構造方法:

public Date() {

this(System.currentTimeMillis());

}

public Date(long date) {

fastTime = date;

}

從這就可以看出創建Date對象實際上就是獲取系統當前距離1970年0時0分0秒0毫秒的總的毫秒數。

比較兩個Date的大小則可以通過以下保留的一些方法來實現:

1. public boolean after(Date when)

判斷當前date是否早於目標when,早則返回true,等於或晚於則返回false;

2. public boolean after(Date when)

例如:

Date date1 = new Date();

// 加一個空循環,避免date1和date2產生間隔過短導致相等

for (int i = 0; i < 1000000; i++) {

}

Date date2 = new Date();

System.out.println(date1.before(date2));

System.out.println(date1.after(date2));

運行結果:

true

false

3. public int compareTo(Date anotherDate)

通過此方法可以比較兩個Date數據,當前date與anotherDate相等時返回0,小於返回負數,大於返回正數。

判斷上面例子中的date1和date2:

System.out.println(date1.compareTo(date2));

運行結果:

-1

4. public long getTime()

返回系統當前距離1970年0時0分0秒0毫秒的總的毫秒數,直接將兩個date對象調用該方法的返回值進行相減,判斷差值大小即可。


分享到:


相關文章: