日曆類 主要涉及兩個類,一個就是抽象類 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
package Calendar;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class CalendarDemo {
/**
* @param args
*/
public static void main(String[] args) {
//獲得一個日曆對象
Calendar ca = Calendar.getInstance();
// ca.setFirstDayOfWeek(Calendar.SATURDAY);
disPlay(ca);
//創建日曆對象時間爲2012.12.12.12,12,12
Calendar c2 = new GregorianCalendar(2012, 11, 12, 12, 12, 12);
disPlay(ca);
//根據在年中的天數,求相隔天數。
int days = c2.get(Calendar.DAY_OF_YEAR)-ca.get(Calendar.DAY_OF_YEAR);
System.out.println("相差"+days+"天");
//重新設定c2對象的時間
System.out.println("+++++++++++++++++重新設定後時間++++++++++++:");
c2.set(2012,11,23);//月份和日期都是0開頭。月份中0表示一月。月中的日期,0表示一日。
c2.set(Calendar.HOUR, 22);
c2.set(Calendar.MINUTE,12);
c2.set(Calendar.SECOND, 12);
disPlay(c2);
System.out.println("+++++++++++++++++修改後時間++++++++++++:");
//向後延長29天
ca.add(Calendar.DAY_OF_YEAR,29);
disPlay(ca);
//再延長10小時
ca.add(Calendar.HOUR, 4);
disPlay(ca);
}
public static void disPlay(Calendar ca) {
String []mon = {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
String []week = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
System.out.print(ca.get(Calendar.YEAR)+"年");
System.out.print(mon[ca.get(Calendar.MONTH)]);
System.out.print(ca.get(Calendar.DAY_OF_MONTH)+"日");
System.out.println(week[ca.get(Calendar.DAY_OF_WEEK)]);
System.out.print("時間:");
System.out.print(ca.get(Calendar.HOUR_OF_DAY)+":");
System.out.print(ca.get(Calendar.MINUTE)+":");
System.out.println(ca.get(Calendar.SECOND));
}
}
[java] view plain copy
運行結果:
[java] view plain copy
2012年十二月8日星期六
時間:20:42:38
2012年十二月8日星期六
時間:20:42:38
相差4天
+++++++++++++++++重新設定後時間++++++++++++:
2012年十二月24日星期一
時間:10:12:12
+++++++++++++++++修改後時間++++++++++++:
2013年一月6日星期日
時間:20:42:38
2013年一月7日星期一
時間:0:42:38
另參見一個日曆練習。http://blog.csdn.net/liuhenghui5201/article/details/8273411
轉自:http://blog.csdn.net/liuhenghui5201/article/details/8273259