JDK文档解释:
Calendar 类是一个抽象类(在这里和DataFormat一样,也是抽象类),它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。
方法:
public int get(int field) 返回给定日历字段的值
public void add(int field,int amount) 根据给定的日历字段和对应时间,来对当前日历进行操作
public final void set(int year,int month,int day) 设置当前日历的年月日
Demo:
//获取任意年份的二月有多少天 import java.util.Calendar; import java.util.Scanner; public class CalendarDemo { private static Scanner sc; public static void main(String[] args) { sc = new Scanner(System.in); System.out.println("请输入年份"); int year = sc.nextInt(); //获取日历对象,因为Calendar是一个抽象类,所以这个方法是获取它的子类 Calendar c = Calendar.getInstance(); //这个方法设置的输入年份的年月日,应该是3月1日,因为月份是从0开始的 c.set(year, 2, 1); //把时间往前推一天,就是二月份的天数 c.add(Calendar.DATE, -1); //输出这一天 System.out.println(Calendar.DATE); }