當前位置:科普知識站>IT科技>

calendar|java

IT科技 閲讀(2.62W)

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

calendar java是什麼,讓我們一起了解一下?

Calendar在Java中是一個抽象日曆類,該類將所有可能用到的時間信息封裝為靜態成員變量,方便獲取。常用方法是,根據日曆的規則,為給定的日曆字段添加或減去指定的時間量。

那麼究竟什麼是一個 Calendar呢?

中文的翻譯就是日曆,那我們立刻可以想到我們生活中有陽(公)歷、陰(農)歷之分。

它們的區別在哪呢?

比如有:
月份的定義 - 陽`(公)歷 一年12 個月,每個月的天數各不同;陰(農)歷,每個月固定28天。
每週的第一天 - 陽(公)歷星期日是第一天;陰(農)歷,星期一是第一天。

calendar java

實際上,在歷史上有着許多種紀元的方法。它們的差異實在太大了,比如説一個人的生日是"八月八日" 那麼一種可能是陽(公)歷的八月八日,但也可以是陰(農)歷的日期。所以為了計時的統一,必需指定一個日曆的選擇。那現在最為普及和通用的日曆就是 “Gregorian Calendar”。也就是我們在講述年份時常用 “公元几几年”。Calendar 抽象類定義了足夠的方法,讓我們能夠表述日曆的規則。Java 本身提供了對 “Gregorian Calendar” 規則的實現。我們從 Calendar.getInstance() 中所獲得的實例就是一個 “GreogrianCalendar” 對象(與您通過 new GregorianCalendar() 獲得的結果一致)。

下面的代碼可以證明這一點:

import java.io.*; import java.util.*;public class WhatIsCalendar{Nm寸59N8public 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 對象3Date date = calendar.getTime();4 //將 Date 對象反應到一個Calendar 對象中, 5 // Calendar/GregorianCalendar 沒有構造函數可以接受 Date 對象 6 //所以我們必需先獲得一個實例,然後設置 Date 對象 calendar.setTime(date);