Calendar的定义如下:

是一个抽象类: public abstract class Calendarextends Objectimplements SerializableCloneableComparable<Calendar>

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

Class Calendar


Calendar的初始化:

[java] view plain copy
  1. //Calendar的static方法可以获取一个Calendar类,  
  2.         Calendar ca = Calendar.getInstance();  
  3.         //getTime()方法可以获取Date对象,(由Calendar转化为Date)  
  4.         Date date = ca.getTime();  
  5.         //由Date转化为Calendar类,用于初始化Calendar,Calendar默认既是当前时间所以一般不需这样设置。  
  6.         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) :获取指定属性的值。

例如获取年月日:

[java] view plain copy
  1. 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://blog.csdn.net/hyf_javatest/article/details/49124663

欢迎留言