Java基础库
文章目錄
- 日期和時間類
- Calender類
- 獲取Calendar實例
- Calender常用方法
- 日期和時間類
日期和時間類
Calender類
Calender類是一個抽象類,也是所有日歷類的模板,并提供所有日歷類通用的方法。他不能直接實例化,程序只能創建一個Calendar子類的實例。Java本身提供了一個GregorianCalendar類,一個代表里高利日歷的子類,也就是我們常說的公歷。
由于Calendar類是一個抽象類,故不能使用構造器來創建Calendar實例。但是它提供了幾個靜態getInstance()方法來獲取Calendar實例,這些方法根據TimeZone,Locale類來獲取特定的Calender,如果不指定TimeZone,Locale,則使用默認的TimeZone,Locale來獲取Calender。
獲取Calendar實例
//創建一個默認的Calender實例 Calendar c = Calender.getInstance(); //從Calender中獲取Date對象 Date date = Calender.getTime();從Date對象中獲取Calendar實例
Calender c2 = Calender.getInstance();//由于Calendar沒有構造器可以接受date對象 c2.setTime(date); //故先得到一個Calendar實例,然后調用其setTime()方法Calender常用方法
Calender中的類變量
field參數(public static final int )
| Calendar.YEAR | 年 | 1 | 292278994 | 1 |
| Calendar.MONTH | 月 | 2 | 11 | 0 |
| Calendar.DATE | 日 | 5 | 31 | 1 |
| Calendar.HOUR | 時 | 10 | 11 | 0 |
| Calendar.MINUTE | 分 | 12 | 59 | 0 |
| Calendar.SECOND | 秒 | 13 | 59 | 0 |
注意,月份的最大值為11,最小值為0,故用0表示1月,1表示2月,以此類推…
獲取日期
int get(int field):返回指定日歷字段的值 int getActualMaximum(int field):放回給定日歷字段的最大值,月份的最大值為11 int getActualMinimum(int field):返回給定日歷字段的最小值,月份的最小值為0設定日期
//設置Calendar對象的年,月,日,時,分,秒6個字段的值 void set(int year,int month,int date,int hourOfDay,int minute,int second) void set(int year,int month,int date,int hourOfDay,int minute) set(int year,int month,int date) void set(int field,int value) //單獨設定某個字段的值 Calendar c = Calender.getInstance(); c.set(2018,9,29,12,32,23); //設定時間為2018-10-29,12:32:23void add(int field,int amount):根據日歷的規則,為給定的日歷字段加上/減去指定的時間量 c.set(2018,9,29,12,32,23); //設定時間為2018-10-29,12:32:23 c.add(Calendar.YEAR,-2); //2016-10-29,12:32:23void roll(int field,int amount);與add相似,不同處在于amount超過field能承受最大值時,add會改變其他字段,而roll不會 c.set(2018,8,15); c.add(Calendar.MONTH,5);//2019-2-15 c.roll(Calendar.MONTH,5);//2018-2-15日期和時間類
總結
- 上一篇: 文件与IO流
- 下一篇: Java基础18(类加载、反射和动态代理