Calendar的定义如下:

是一个抽象类: public abstract class

Calendarextends Objectimplements

Serializable,

Cloneable, Comparable<Calendar>

JAVA API上类关系如下,GregorianCalendar是其已实现的子类。

Class Calendar

java.lang.Object

java.util.Calendar

All Implemented Interfaces:Serializable,

Cloneable, Comparable<Calendar>

Direct Known Subclasses: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) :设置指定属性的日期。

例如:

ca.set(Calendar.YEAR, 2010);  

//设置年份为 2010年,

ca.set(Calendar.DAY_OF_MONTH, 1)

//设置天为本月第一天


原文链接:http://www.lai18.com/content/2397079.html

欢迎留言