calendar java是什么,讓我們一起了解一下?
Calendar在Java中是一個抽象日歷類,該類將所有可能用到的時間信息封裝為靜態成員變量,方便獲取。常用方法是,根據日歷的規則,為給定的日歷字段添加或減去指定的時間量。
那么究竟什么是一個?Calendar呢?
中文的翻譯就是日歷,那我們立刻可以想到我們生活中有陽(公)歷、陰(農)歷之分。
它們的區別在哪呢?
比如有:月份的定義 - 陽`(公)歷 一年12 個月,每個月的天數各不同;陰(農)歷,每個月固定28天。每周的第一天 - 陽(公)歷星期日是第一天;陰(農)歷,星期一是第一天。
實際上,在歷史上有著許多種紀元的方法。它們的差異實在太大了,比如說一個人的生日是"八月八日" 那么一種可能是陽(公)歷的八月八日,但也可以是陰(農)歷的日期。所以為了計時的統一,必需指定一個日歷的選擇。那現在最為普及和通用的日歷就是 “Gregorian Calendar”。也就是我們在講述年份時常用 “公元幾幾年”。Calendar 抽象類定義了足夠的方法,讓我們能夠表述日歷的規則。Java 本身提供了對 “Gregorian Calendar” 規則的實現。我們從 Calendar.getInstance() 中所獲得的實例就是一個 “GreogrianCalendar” 對象(與您通過 new GregorianCalendar() 獲得的結果一致)。
下面的代碼可以證明這一點:
import?java.io.*;?import?java.util.*; public?class?WhatIsCalendar{ Nm寸59N8 public?static?void?main(String[]?args){?Calendar?calendar=Calendar.getInstance();?if(calendar?instanceof?GregorianCalendar) System.out.println("It?is?an?instance?of?GregorianCalendar"t;1011
Calendar 在 Java 中是一個抽象類(Abstract Class),GregorianCalendar 是它的一個具體實現。
我們也可以自己的 Calendar 實現類,然后將它作為 Calendar 對象返回(面向對象的特性)。在 IBM alphaWorks 上,IBM 的開發人員實現了多種日歷,同樣在 Internet 上,也有對中國農歷的實現。本文對如何擴展 Calendar 不作討論,大家可以通過察看上述 Calendar 的源碼來學習。
Calendar 與 Date 的轉換非常簡單:
Calendar?calendar=Calendar.getInstance();//?從一個Calendar?對象中獲取?Date?對象 3 Date?date?=?calendar.getTime(); 4?//將?Date?對象反應到一個Calendar?對象中,? 5?//?Calendar/GregorianCalendar?沒有構造函數可以接受?Date?對象? 6?//所以我們必需先獲得一個實例,然后設置?Date?對象? calendar.setTime(date);
以上就是小編今天的分享了,希望可以幫助到大家。