天天看點

Java DateJava Date類的使用總結

Java Date類的使用總結

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)——毫秒值轉日期

Java DateJava Date類的使用總結
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 }      
Java DateJava Date類的使用總結
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




Java 日期格式化 DateFormat與SimpleDateFormat

      
import java.util.Date;
import java.text.DateFormat;


/**
* 格式化時間類
* DateFormat.FULL = 0
* DateFormat.DEFAULT = 2
* DateFormat.LONG = 1
* DateFormat.MEDIUM = 2
* DateFormat.SHORT = 3
* @author    Michael 
* @version   1.0, 2007/03/09
*/

public class Test{
    public static void main(String []args){
        Date d = new Date();
        String s;
          
        /** Date類的格式: Sat Apr 16 13:17:29 CST 2006 */
        System.out.println(d);
          
        System.out.println("******************************************");   
        
        /** getDateInstance() */ 
        /** 輸出格式: 2006-4-16 */
        s = DateFormat.getDateInstance().format(d);
        System.out.println(s);
        
        /** 輸出格式: 2006-4-16 */
        s = DateFormat.getDateInstance(DateFormat.DEFAULT).format(d);
        System.out.println(s);
        
        /** 輸出格式: 2006年4月16日 星期六 */
        s = DateFormat.getDateInstance(DateFormat.FULL).format(d);
        System.out.println(s);
        
        /** 輸出格式: 2006-4-16 */
        s = DateFormat.getDateInstance(DateFormat.MEDIUM).format(d);
        System.out.println(s);
        
        /** 輸出格式: 06-4-16 */
        s = DateFormat.getDateInstance(DateFormat.SHORT).format(d);
        System.out.println(s);
        
        /** 輸出格式: 2006-01-01 00:00:00 */
        java.text.DateFormat format1 = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        s = format1.format(new Date());
        System.out.println(s);
        
        /** 輸出格式: 2006-01-01 01:00:00 */
        System.out.println((new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss")).format(new Date()));
        

        /** 輸出格式: 2006-01-01 13:00:00 */
        System.out.println((new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new Date()));

        /** 輸出格式: 20060101000000***/
        java.text.DateFormat format2 = new java.text.SimpleDateFormat("yyyyMMddhhmmss");
        s = format2.format(new Date());
        System.out.println(s); 
    }
}      

補充一下:   

Calendar   cal   =   Calendar.getInstance();   

cal.setTime(new   Date());     

System.out.println("System   Date:   "   +   cal.get(Calendar.MONTH+1));     

注意下,月份是從0開始的,要Calendar.MONTH+1才可以的

上一篇: Java Socket