Java 中的日历类(Calendar)常用属性、方法

  Calendar的定义如下:

是一个抽象类: public abstract class Calendarextends Objectimplements Serializable, Cloneable, Comparable

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); //设置天为本月第一天








你可能感兴趣的:(JAVA,SE)