當前位置:科普知識站>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);