Calendar类

java.util.Calendar (日历类)
该类是一个抽象类,里面提供了一些操作日历字段的方法
(YEAR,MONTH,DAY_OF_MONTH(DAY),HOUR)
Calendar类无法直接创建对象,通过调用一个静态方法getInstance(),
(该方法返回了Calendar类的一个子类对象-----static Calendar getInstance())
使用方法Calendar c = Calendar.getInstance();//其实是一个多态写法

其中的一些方法

public class CalendarClass {
    
    public static void  main(String[] args){
        getmethod();
        System.out.println("========");
        setmethod();
        System.out.println("========");
        addmethod();

        Calendar c = Calendar.getInstance();
        Date date = c.getTime();//转化为date日期型
        System.out.println(date);
    }

    //一些成员方法
    //1.public int get(int field);返回给定日历字段的值
    public static void getmethod(){
        Calendar c = Calendar.getInstance();
        int y = c.get(Calendar.YEAR );
        int m = c.get(Calendar.MONTH)+1;
        System.out.println(y+"年"+m+"月");
    }
    //2.public void set(int field ,int value )将给定的日历字段设置为定值
    public static void setmethod(){
        Calendar c = Calendar.getInstance();
        c.set(Calendar.YEAR ,2030);
        c.set(Calendar.MONTH,11);//将时间设置为2030年12月
        int y = c.get(Calendar.YEAR );
        int m = c.get(Calendar.MONTH)+1;
        System.out.println(y+"年"+m+"月");
        //还有一些重载方法可以一次性设置年月日,年月日时分,年月日时分秒;
    }
    //3.public void add(int filed , int count);根据日历的规则给给定的日历段增加或减去对应的时间量
    //count设置为负值则为减
    public static void addmethod() {
        Calendar c = Calendar.getInstance();
        c.add(Calendar.YEAR, 100);//将年份加100
        c.add(Calendar.MONTH, 2);//将月份加2
        int y = c.get(Calendar.YEAR);
        int m = c.get(Calendar.MONTH)+1;
        System.out.println(y + "年" + m + "月");
    }
}

备注:

/*
 public final static int YEAR = 1;//年
 public final static int MONTH = 2;//月(西方)  西方的月份是0-1;东方是1-12
 public final static int DAY_OF_YEAR = 6;//当前时间在该年的天数
  public final static int DAY_OF_WEEK = 7;//当前时间在该周的天数
 public final static int WEEK_OF_YEAR = 3;//当前时间在该年的周数
 public final static int WEEK_OF_MONTH = 4;//当前时间在该月的周数  西方以星期日为一周的开始
 public final static int DATE = 5;//日
 public final static int DAY_OF_MONTH = 5;//与上述效果一样
 public final static int HOUR = 10;//得到半天的小时数
 public final static int AM_PM = 9;//区分午前午后
 public final static int HOUR_OF_DAY = 11;//一天的小时数
public final static int MINUTE = 12;//一小时中的分钟数
public final static int SECOND = 13;//一分钟的秒数
public final static int MILLISECOND = 14;//一秒钟的毫秒数
 */
原文地址:https://www.cnblogs.com/susexuexi011/p/13828540.html