Calendar的定义如下:
是一个抽象类: public abstract class Calendarextends Objectimplements Serializable, Cloneable, Comparable
JAVA API上类关系如下,GregorianCalendar是其已实现的子类。
Calendar的初始化:
//Calendar的static方法可以获取一个Calendar类,
Calendar ca = Calendar.getInstance();
//getTime()方法可以获取Date对象,(由Calendar转化为Date)
Date date = ca.getTime();
//由Date转化为Calendar类,用于初始化Calendar,Calendar默认既是当前时间所以一般不需这样设置。
ca.setTime(new Date());
Calendar的常用属性:
Calendar.YEAR:年;
Calendar.MONTH :月 (从0开始计算,因此输出显示时候要+1);
Calendar.DAY_OF_YEAR :一年中的第几天;
Calendar.DAY_OF_MONTH :一月中的第几天;
Calendar.DAY_OF_WEEK :一周中的第几天;
Calendar.HOUR:时间(12小时制);
Calendar.HOUR_OF_DAY :时间(24小时制);
Calendar.MINUTE :分钟;
Calendar.SECOND :秒;
Calendar的常用方法:
1.get(int field) :获取指定属性的值。
例如获取年月日:
System.out.println(ca.get(Calendar.YEAR)+"-"+(ca.get(Calendar.MONTH)+1)+"-"+ca.get(Calendar.DAY_OF_MONTH)+" "+ca.get(Calendar.HOUR_OF_DAY)+":"+ca.get(Calendar.MINUTE)+":"+ca.get(Calendar.SECOND));
输出结果:2015-10-14 14:13:53
2.getActualMaximum(int field):获取指定属性当前的最大值;
例如:System.out.println("本月有多少天:"+ca.getActualMaximum(Calendar.DATE));
3.getMaximum(int field):获取指定属性的最大值(与上个的区别是:不仅限于当前时间,例如如果当前是2月份,用此方法获取月的最大天数,结果为31天)
4.add(int field, int amount):修改指定属性的日期时间。
例如: Calendar ca = Calendar.getInstance();
ca.add(Calendar.DAY_OF_MONTH, 1); //天数+1, ca表示明天此时的日期,负数表示前一天。
5.set(int year, int month, int date) :为日历设置指定的日期;
例如:设置日历当前时间为,2016年10月14日
Calendar ca = Calendar.getInstance(); ca.set(2016, 9, 14);//月是从0开始的
6.set(int field,int value) :设置指定属性的日期。
例如:
//设置年份为 2010年, ca.set(Calendar.YEAR, 2010);
ca.set(Calendar.DAY_OF_MONTH, 1)
//设置天为本月第一天
;