Calendar类和GregorianCalendar类
摘要:本文重点介绍Calendar类和GregorianCalendar类的关系、GregorianCalendar类创建及使用
一、Calendar类:
1、Calendar介绍
Calendar是java提供的日历类,日历的作用是提供某个时间点的年、月、日等信息。
2、Calendar能不能创建实例?
Calendar类是一个抽象类(不能直接创建实例),Calendar类如果要创建实例,必须通过getInstance方法构造Calendar的子类对象:
- //使用 默认时区和区域 设置获取日历。
Calendar.getInstance();
- //使用 指定的时区和默认语言环境 获取日历。
Calendar.getInstance(TimeZone zone);
- //使用 默认时区和指定的区域 设置获取日历。
Calendar.getInstance(Locale aLocale);
注意:
该方法返回Calendar类的子类对象;为什么说『返回Calendar类的子类对象』?
首先Calendar类是一个抽象类,所以不存在所谓的Calendar类的实例,其次在地球上有很多不同的时区,不同的时区就要对应不同的Calendar类的的子类(每个国家都有自己的一套日历算法,比如西方的国家的第一个星期大部分为星期日,而中国则为星期一,等等)。
二、GregorianCalendar类:
1、GregorianCalendar介绍
GregorianCalendar类是Calendar类的子类。
GregorianCalendar(公历)是Calendar的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。
2、GregorianCalendar怎么创建实例?
GregorianCalendar可以使用new关键字创建实例,下面是官方给出的构造器方法:
注意:
月份:一月份是0,二月是1,以此类推,12月是11
星期:周日是1,周一是2,。。。周六是7
3、如何获取和设置具体的年、月、日?
GregorianCalendar提供了获取方法 get() 和设置方法 set()
为了表达希望得到的项,需要借助Calendar类中定义的一些常量,如 Calendar.MONTH 或 Calendar.DAY_OF_WEEK :
get() 示例:
GregorianCalendar now = new GregorianCalendar();
int month = now.get(Calender.MONTH); //获取月份
set() 示例:
deadline.set(Calendar.YEAR,2001); //设置年
deadline.set(Calendar.MONTH,Calendar.APRIL); //设置月份
deadline.set(Calendar.DAY_OF_MONTH,15); //设置日期
更多关于Calendar类和GregorianCalendar类的API请参考官方文档:
http://www.matools.com/api/java8