Calendar 类 是一个抽象类 getInstance()直接返回子类对象 直接调用 主要方法:get set add 代码如下: package cn.lijun.demo; import java.util.Calendar; import java.util.Date; public class CalendarDemo { public static void main(String[] args) { //获取子类对象 Calendar c=Calendar.getInstance(); System.out.println(c); //把日历转化为日期对象 Date time =c.getTime(); System.out.println(time); //fun2(); //fun3(); fun(); } public static void fun2(){ Calendar c=Calendar.getInstance(); //add使日期向后偏移 正向后偏移 负向前偏移 c.add(Calendar.DAY_OF_MONTH, 310); int year=c.get(Calendar.YEAR); int month=c.get(Calendar.MONTH)+1; int day=c.get(Calendar.DAY_OF_MONTH); System.out.println(year+"年"+month+"月"+day+"日"); } public static void fun3(){ Calendar c=Calendar.getInstance(); //设置到10月份 set c.set(Calendar.MONTH, 9); System.out.println(c.get(Calendar.MONTH)+1); c.set(2022, 2,20); int year=c.get(Calendar.YEAR); int month=c.get(Calendar.MONTH)+1; int day=c.get(Calendar.DAY_OF_MONTH); System.out.println(year+"年"+month+"月"+day+"日"); } //get方法 获取日历字段的值 int get public static void fun(){ Calendar c=Calendar.getInstance(); int year=c.get(Calendar.YEAR); //得到年 int month=c.get(Calendar.MONTH)+1; //得到月 并且+1 int day=c.get(Calendar.DAY_OF_MONTH); //得到日 System.out.println(year+"年"+month+"月"+day+"日"); } } 用calendar类计算闰年: package cn.lijun.demo; import java.util.Calendar; public class DateTest { public static void main(String[] args) { //闰年的计算 将日历设置到指定的年份 3月1日 add 向前偏移一天获取 天数 29 闰年 fun(); } public static void fun(){ Calendar c=Calendar.getInstance(); c.set(2099,2,1); //偏移 向前偏移一天 c.add(Calendar.DAY_OF_MONTH,-1); //获取天数 int day=c.get(Calendar.DAY_OF_MONTH); System.out.println(day); if(day==28){ System.out.println("不是闰年"); }else{ System.out.println("是闰年"); } } }