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對象調用該方法的返回值進行相減,判斷差值大小即可。
- 贊