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

the end

評論(0)