1.Calendar类:
是一个抽象类,需要导入java.util.Calendar包。
Calendar c = Calendar.getInstance(); getInstance直接返回的是子类对象,不需要new子类对象,直接调用。
//获得子类对象 Calendar c =Calendar.getInstance(); System.out.println(c); //把日历对象转为Date日期对象 Date time=c.getTime(); System.out.println(time);
2.get set add方法
get方法:获得日历字段的值。
//get 方法 ,获得日历字段的值 int get public static void fun(){ Calendar c=Calendar.getInstance(); //获取年份 int year=c.get(Calendar.YEAR); //System.out.println(year); //获取月份 月份比真实月份少一 个月 +1 int month=c.get(Calendar.MONTH)+1; //获取日份 int day=c.get(Calendar.DAY_OF_MONTH); System.out.println(year+"年"+month+"月"+day+"日"); }
set方法:设置日历set(int field,int value)
public static void fun1(){ Calendar c = Calendar.getInstance(); //设置月份到10月份 //c.set(Calender.MONTH,9); //设置 年 月 日 c.set(2020,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+"日"); }
add方法:日历偏移量
//add 日历偏移量 public static void fun2(){ Calendar c = Calendar.getInstance(); //负值向前偏移 正值向后偏移 c.add(Calendar.DAY_OF_MONTH, -310); int year=c.get(Calendar.YEAR); System.out.println(year); int month=c.get(Calendar.MONTH)+1; int day=c.get(Calendar.DAY_OF_MONTH); System.out.println(year+"年"+month+"月"+day+"日"); }
★例子:闰年的计算
思路:将日历设置到指定的年份,3月1日向前偏移一天,获取二月份的天数,如果是29天则是闰年。
public class TestDemo { public static void main(String[] args) { //闰年的计算,将日历设置到指定的年份 , 3月1日向前偏移一天,获取天数,如果是29天就是闰年 fun1(); } public static void fun1(){ Calendar c=Calendar.getInstance(); //设置时间2014年3月1日 c.set(2014,2,1); /*获取月份 int month=c.get(Calendar.MONTH)+1; System.out.println(month); */ //偏移 向前偏移一天 c.add(Calendar.DAY_OF_MONTH, -1); //get获取天数 int day = c.get(Calendar.DAY_OF_MONTH); System.out.println(day); if(day==28){ System.out.println("不是闰年"); }else{ System.out.println("是闰年"); } } }