通過Date類我們可以創建並格式化一個日期對象,但是如何才能設置和獲取日期數據的特定部分呢?----Calendar類
Calendar類是一個抽象類,在實際使用時實現特定的子類的對象,通過getInstance方法創建對象即可。
1、創建一個代表系統當前日期的Calendar對象。
Calendar c = Calendar.getInstance(); //默認是當前日期。
2、創建一個指定日期的Calendar對象。
首先創建一個Calendar對象,然后再設定該對象中的年月日參數來完成。
Calendar cl = Calendar.getInstance();
cl.set(2009,6 - 1,12);//代表2009年6月12日
GregorianCalendar類
Calendar類實現了公歷日歷,GregorianCalendar是Calendar類的一個具體實現。
Calendar 的getInstance()方法返回一個默認用當前的語言環境和時區初始化的GregorianCalendar對象。GregorianCalendar定義了兩個字段:AD和BC。這是代表公歷定義的兩個時代
package cuiyuee; import java.util.*; public class GregorianCalendarDemo { public static void main(String[] args) { // TODO Auto-generated method stub String months[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; int year; //初始化Gregorian日歷 //使用當前時間和日期 //默認為本地時間和時區 GregorianCalendar gcalendar = new GregorianCalendar(); System.out.println("Date:"); //顯示當前時間和日期的信息 System.out.print(months[gcalendar.get(Calendar.MONTH)]); System.out.print(" "+gcalendar.get(Calendar.DATE)+" "); System.out.println(year = gcalendar.get(Calendar.YEAR)); System.out.print("Time:"); System.out.print(gcalendar.get(Calendar.HOUR)+":"); System.out.print(gcalendar.get(Calendar.MINUTE)+":"); System.out.println(gcalendar.get(Calendar.SECOND)); //測試當前年份是否為閏年 if(gcalendar.isLeapYear(year)){ System.out.println("當前年份是閏年"); }else{ System.out.println("當前年份不是閏年"); } } }