Java中的Date、Calendar、DateFormat、SimpleDateFormat

來源:互聯網
上載者:User

       java.util.Date:表示特定的瞬間,精確到毫秒。在JDK1.1之前,用於把日期解釋為年、月、日、小時、分鐘、秒值,不過它的函數不易於國際化。所以從JDK1.1開始,使用Calendar類實現日期和時間欄位之間的轉換,使用DateFormat類來格式化和解析日期文字。void setTime(long time):設定此Date對象。

       java.util.Calendar:是一個抽象類別,它為特定瞬間與一組諸如YEAR、MONTH、DAY_OF_MONTH、HOUR等日曆欄位之間的轉換提供了一些方法,並為操作日曆欄位(例如:獲得下星期的日期)提供了一些方法。執行個體化Calendar使用:Calendar rightNow=Calendar.getInstance();。常用的子類是GregorianCalendar。

       java.text.DateFormat:是日期/時間格式化子類(例如:SimpleDateFormat)的抽象類別,它以與語言無關的方式格式化並解析日期或時間

       java.text.SimpleDateFormat:是一個與語言環境有關的方式來格式化和解析日期的具體類,日期/時間格式化子類,運行進行格式化(即:日期->文本)、解析(文本->日期)和標準化。主要方法:Date parse(String text,ParsePosition pos):解析字串的文本,產生Date。

       Calendar calendar=Calendar.getInstance();//靜態方法初始化

       calendar.setTime(date);//這個方法用於將Date對象傳遞進來

       下面方法用於得到Date的各種attributes:

        int year=calendar.get(Calendar.YEAR);

        int month=calendar.get(Calendar.MONTH)+1;//不要忘了加1

        int day=calendar.get(Calendar.DAY);//這裡還有DAY_OF_MONTH,注意區分

        另一種用法是改變Date:

        calendar.set(field,value);  //把某個域設定給定值,注意在調用get前不生效

        calendar.add(field,delta); //用來加一天或者減一年,立即生效

        calendar.roll(field,delta);//和add的區別是larger field不會改變,一般用add

        date=calendar.getTime(); //成功後得到改變後的Date

     

         SimpleDateFormat就是為了在String和Date之間轉換而存在的。

         SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

         從String到Date:

         Date date=df.parse(String dateString);  //throws parseException

         Date一般是從1970-01-01 00:00:00(格林尼治0時)到現在的ms數表示時間。

         Date date=new Date();

         int time=date.getTime(); //一般用來相減,可得到精確到ms的時間差

         boolean isEqual=date.equals(anotherDate);//判斷兩個時間是不是相等

         date.compareTo(anotherDate);


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.