Date類表示特定的瞬間,精確到毫秒。
有2種方法可以創建Date對象(這裡不考慮已過時的構造函數)
1、public Date()——分配 Date 對象並初始化此對象,以表示分配它的時間(精確到毫秒)。
1 @Test 2 public void test1() { 3 Date date = new Date(); 4 System.out.println(date); 5 }
Sun Oct 23 22:39:14 CST 2016
2、public Date(long date)——根據給定的毫秒值創建日期對象。
1 @Test 2 public void test2() { 3 long time = System.currentTimeMillis(); 4 Date date = new Date(time); 5 System.out.println(date); 6 }
Sun Oct 23 22:41:42 CST 2016
介紹完了Date的構造函數後,接下來來看看日期與毫秒值的相互轉換
1、public long getTime()——日期轉毫秒值
通過getTime方法可以將一個日期類型轉換為long類型的毫秒值
1 @Test 2 public void test3() { 3 Date date = new Date(); 4 System.out.println(date.getTime()); 5 }
1477234414353
2、public void setTime(long time)——毫秒值轉日期
1 @Test 2 public void test4() { 3 long time = System.currentTimeMillis(); 4 Date date = new Date(); 5 date.setTime(time); 6 System.out.println(date); 7 }
Sun Oct 23 22:53:05 CST 2016
當然也可以通過構造函數public Date(long date)將毫秒值轉為日期類型。
通常我們會比較2個日期的大小,Date類提供以下方法用來比較2個日期的相關操作
1、public boolean before(Date when)——測試此日期是否在指定日期之前,當且僅當此Date對象表示的瞬間比when表示的瞬間早,才返回true;否則返回false。
1 @Test 2 public void test5() { 3 Date date1 = new Date(1000); 4 Date date2 = new Date(2000); 5 System.out.println(date1.before(date2)); 6 }
true
2、public boolean after(Date when)——測試此日期是否在指定日期之後,當且僅當此Date對象表示的瞬間比when表示的瞬間晚,才返回true;否則返回false。
1 @Test 2 public void test6() { 3 Date date1 = new Date(1000); 4 Date date2 = new Date(2000); 5 System.out.println(date1.after(date2)); 6 }
false
3、public int compareTo(Date anotherDate)——比較兩個日期的順序。
如果參數Date等於此Date,則返回值0;如果此Date在Date參數之前,則返回小於0的值;如果此Date在Date參數之後,則返回大於0的值。
1 @Test 2 public void test7() { 3 Date date1 = new Date(1000); 4 Date date2 = new Date(2000); 5 System.out.println(date1.compareTo(date2)); 6 }
-1