Calendar日曆類和GregorianCalendar公曆類用法的一個小結

日曆類 主要涉及兩個類,一個就是抽象類 Calendar類,另一個是他的子類GregorianCalendar。

一、Calendar類。

1,主要字段:

YEAR(年份)                                            MONTH(月份從0開始)                          DATE(一月的某天)                                    HOUR(指示上午或下午的小時)                                

HOUR_F_DAY(指示一天中的小時。)         DAY_OF_WEEK (一個星期中的某天)   DAY_OF_MONTH(一個月中的某天)    DAY_OF_YEAR(一年中的某天)     

 DAY_OF_WEEK _IN_MONTH(一個月中的第幾個星期)                      WEEK_OF_MONTH  (指示當前月中的星期數)            WEEK_OF_YEAR(指示當前年中的星期數)

2,得Calendar類對象。

//通過 Calendar類的靜態方法getInstance獲得。

Calendar  ca = Calendar.getInstance();

3,主要方法

void set(int field,int value)//field日曆類的參數,比如YEAR   MONTH   DATE 等...

void set(int year,int month,int date)//設置年月日。

void set(int year, int month, int date, int hourOfDay, int minute)//設置年月日時分

void set(int year, int month, int date, int hourOfDay, int minute, int second)//設置年月日時分秒

void setTime(Date date);//使用給定的 Date 設置此 Calendar 的時間。

 

int  get(int field)//返回給定日曆字段的值。如:int month = acobj.get(Calendar.MONTH);

Date getTime()//返回一個表示此 Calendar 時間值的 Date 對象。

long getTimeInMillis()//返回從1970.1.1   00:00:00到該日曆的毫秒數。

 

void add(int field,amont);//根據日曆的規則,爲給定的日曆字段添加或減去指定的時間量。可加減。如:caobj.add(Calendar.MONTH,1)下一個月。

二、GregorianCalendar類。

1,獲得該類對象

Calendar ca = new GregorianCalendar()//默認當前的時刻。

Calendar ca = new GregorianCanlendar(int year,int month,int dayOfMonth)//初始具有指定年月日的公曆類對象。

Calendar ca = new GregorianCanlendar(int year,int month,int dayOfMonth,int hourOfDay,int minute)初始具有指定年月日的公曆類對象。

Calendar ca = new GregorianCanlendar(int year,int month,int dayOfMonth,int hourOfDay,int minute,int second)//初始具有指定年月日的公曆類對象。

上邊的都是獲得默認的語言環境,和默認的時區 對象。

2,用法

用法主要繼承去父類Calendar。

附一演示程序:

[java] view plain copy

  1. package Calendar;  

  2.   

  3. import java.util.Calendar;  

  4. import java.util.GregorianCalendar;  

  5.   

  6. public class CalendarDemo {  

  7.   

  8.     /** 

  9.      * @param args 

  10.      */  

  11.     public static void main(String[] args) {  

  12.         //獲得一個日曆對象  

  13.         Calendar ca = Calendar.getInstance();  

  14. //      ca.setFirstDayOfWeek(Calendar.SATURDAY);  

  15.         disPlay(ca);  

  16.           

  17.           

  18.           

  19.         //創建日曆對象時間爲2012.12.12.12,12,12  

  20.         Calendar c2 = new GregorianCalendar(20121112121212);  

  21.         disPlay(ca);  

  22.           

  23.           

  24.         //根據在年中的天數,求相隔天數。  

  25.         int days = c2.get(Calendar.DAY_OF_YEAR)-ca.get(Calendar.DAY_OF_YEAR);  

  26.         System.out.println("相差"+days+"天");  

  27.           

  28.           

  29.         //重新設定c2對象的時間  

  30.         System.out.println("+++++++++++++++++重新設定後時間++++++++++++:");  

  31.         c2.set(2012,11,23);//月份和日期都是0開頭。月份中0表示一月。月中的日期,0表示一日。  

  32.         c2.set(Calendar.HOUR, 22);  

  33.         c2.set(Calendar.MINUTE,12);  

  34.         c2.set(Calendar.SECOND, 12);  

  35.         disPlay(c2);  

  36.           

  37.           

  38.         System.out.println("+++++++++++++++++修改後時間++++++++++++:");  

  39.         //向後延長29天  

  40.         ca.add(Calendar.DAY_OF_YEAR,29);  

  41.         disPlay(ca);  

  42.         //再延長10小時  

  43.         ca.add(Calendar.HOUR, 4);  

  44.         disPlay(ca);  

  45.   

  46.     }  

  47.   

  48.     public static void disPlay(Calendar ca) {  

  49.         String []mon = {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};    

  50.         String []week = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};  

  51.         System.out.print(ca.get(Calendar.YEAR)+"年");  

  52.         System.out.print(mon[ca.get(Calendar.MONTH)]);  

  53.         System.out.print(ca.get(Calendar.DAY_OF_MONTH)+"日");  

  54.         System.out.println(week[ca.get(Calendar.DAY_OF_WEEK)]);  

  55.         System.out.print("時間:");  

  56.         System.out.print(ca.get(Calendar.HOUR_OF_DAY)+":");  

  57.         System.out.print(ca.get(Calendar.MINUTE)+":");  

  58.         System.out.println(ca.get(Calendar.SECOND));  

  59.           

  60.           

  61.     }  

  62.   

  63. }  

[java] view plain copy

  1. 運行結果:  

[java] view plain copy

  1. 2012年十二月8日星期六  

  2. 時間:20:42:38  

  3. 2012年十二月8日星期六  

  4. 時間:20:42:38  

  5. 相差4天  

  6. +++++++++++++++++重新設定後時間++++++++++++:  

  7. 2012年十二月24日星期一  

  8. 時間:10:12:12  

  9. +++++++++++++++++修改後時間++++++++++++:  

  10. 2013年一月6日星期日  

  11. 時間:20:42:38  

  12. 2013年一月7日星期一  

  13. 時間:0:42:38  

另參見一個日曆練習。http://blog.csdn.net/liuhenghui5201/article/details/8273411



轉自:http://blog.csdn.net/liuhenghui5201/article/details/8273259

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章