java.util.Calendar
    public abstract class Calendar extends Object implements Serializable, Cloneable, Comparable<Calendar>

    概念: Calendar作为日历类

    提示:
    该类作为抽象类,所有不能实例化,Calendar提供了public static Calendar getInstance()方法来获取实例
    (该对象为Calendar的子类对象),其日历字段已由当前日期和时间初始化:)

    1. // JDK源代码
    2. public static Calendar getInstance()
    3. {
    4. return createCalendar(TimeZone.getDefault(), Locale.getDefault(Locale.Category.FORMAT));
    5. }

    字段:
    Calendar提供大量的字段来表示日期,如:YEAR、MONTH、DAY_OF_MONTH、HOURYEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。

    ** **
    YEAR
    MONTH 月(从0开始,可以+1使用)
    DAY_OF_MONTH 月中的天(几号)
    HOUR 时(12小时制)
    HOUR_OF_DAY 时(24小时制)
    MINUTE
    SECOND
    DAY_OF_WEEK 周中的天(周几,周日为1,可以-1使用)

    方法:
    定义:
    public abstract void add(int field, int amount)(根据日历的规则,将指定的时间量添加或减去给定的日历字段。)

    public final Date getTime() (返回一个 Date表示此物体 Calendar的时间值)

    public void set(int field,int value) (将给定的日历字段设置为给定的值)

    public int get(int field) (返回给定日历字段的值)

    代码演示:

    1. public class Test{
    2. public static void main(String[] args){
    3. Calendar calendar = Calendar.getInstance();
    4. System.out.println("年:"+calendar.get(Calendar.YEAR));
    5. System.out.println("月:"+calendar.get(Calendar.MONTH) + 1);
    6. System.out.println("日:"+calendar.get(Calendar.DAY_OF_WEEK));
    7. System.out.println("时:"+calendar.get(Calendar.HOUR_OF_DAY));
    8. System.out.println("分:"+calendar.get(Calendar.MINUTE));
    9. System.out.println("秒:"+calendar.get(Calendar.SECOND));
    10. calendar.setTime(new Date());
    11. calendar.add(Calendar.YEAR,1);
    12. calendar.add(Calendar.YEAR,-1);
    13. calendar.set(Calendar.YEAR,2021);
    14. calendar.get(Calendar.YEAR);
    15. }
    16. }