首頁  >  文章  >  Java  >  Java中常用的日期類別說明

Java中常用的日期類別說明

伊谢尔伦
伊谢尔伦原創
2017-04-29 13:01:481665瀏覽

日期類別常用的有三個,Date類,Calendar(日曆)類別和日期格式轉換類別(DateFormat)

Date類別中的大部分的方法都已經過時,一般只會用到構造方法取得系統目前的時間。

public class DateDemo {  
    public static void main(String[] args) {  
        Date date = new Date();  
        System.out.println(date);  
    }  
}

結果輸出目前系統的時間:Fri Mar 10 16:50:37 CST 2017
我們可以看到,這種格式的時間我們看著並不習慣,所以在展示時間的時候必須要轉換輸出格式,這時候我們要用到日期格式轉換類別DateFormat了。

public class FormatDemo {  
    public static void main(String[] args) {  
    Date d=new Date();  
    System.out.println(d);  
    Format f=new SimpleDateFormat("yyyy-MM-dd hh-mm-ss");  
    String s=f.format(d);  
    System.out.println(s);  
    }  
}

這時輸出時間為:2017-03-10 04-54-06

這樣就看著很舒服了。

 

Calendar

Calendar 類別是抽象類,它為特定瞬間與一組諸如YEAR、MONTH、DAY_OF_MONTH、HOUR 等日曆字段之間的轉換提供了一些方法,並為操作日曆欄位(例如獲得下週的日期)提供了一些方法。

可以使用三種方法來變更行事曆欄位:set()、add() 和 roll()。

1,set(f, value) 將行事曆欄位f 改為value。

2,add(f, delta) 將delta 加入f 欄位。

3,roll(f, delta) 將delta 加入f 欄位中,但不會更改較大的欄位。

public class Test {  
    public static void main(String[] args) {  
    Calendar c=new GregorianCalendar();  
    c.set(Calendar.DAY_OF_MONTH,1);  
    System.out.println("输出的是本月第一天");  
    System.out.println((c.get(Calendar.MARCH)+1)+"月的"+c.get(Calendar.DAY_OF_MONTH)+"号");  
    c.roll(Calendar.DAY_OF_MONTH,-1);  
    System.out.println("输出的是本月最后一天");  
    System.out.println((c.get(Calendar.MARCH)+1)+"月的"+c.get(Calendar.DAY_OF_MONTH)+"号");  
    }  
}

輸出結果為:

輸出的是本月第一天

3月的1號

#輸出的是本月最後一天

3月的31號

Roll方法在操作的過程中,一號天數減一之後,直接又返回本月的最後一天,日期變動在本月內循環而不會去改變月份,即不會更改更大的欄位。

比較add方法:

public class Test {  
    public static void main(String[] args) {  
    Calendar c=new GregorianCalendar();  
    c.set(Calendar.DAY_OF_MONTH,1);  
    System.out.println("输出的是本月第一天");  
    System.out.println((c.get(Calendar.MARCH)+1)+"月的"+c.get(Calendar.DAY_OF_MONTH)+"号");  
    c.add(Calendar.DAY_OF_MONTH,-1);  
    System.out.println("输出的是上个月最后一天");  
    System.out.println((c.get(Calendar.MARCH)+1)+"月的"+c.get(Calendar.DAY_OF_MONTH)+"号");  
    }  
}

輸出結果為:

輸出的是本月第一天

3月的1號

輸出的是本月最後一天

2月的28號

可以看出在三月一號的基礎上減去一之後,自動月份自動變到了二月。這個時roll方法和ad方法的差別。

以上是Java中常用的日期類別說明的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn