package cn.jiu.com; import java.util.Calendar; import java.util.Scanner; /* * 一、Calendar ? * * 1.日历 对 Date类中的 很多方法做改进 * 2.是一个抽象类 不能建立对象---就是不能new! 需要子类实现 * 3. * 【特殊】 不需要创建子类对象 直接使用他的静态方法 获取!-----getInstance(); * * * 二、主要方法? 三个 set add get * * 1.set 设置 年月份! * set设置日期 格式? set(年,月,日) 中间用用逗号隔开! * * 2.add * add修改日期 格式? add(Calendar. YEAR, 1 ) 年数加一! (Calendar.XXXX,num); 一个点、 一个逗号、num的正负 决定所设置年月日的加减! 年月日大写! * * 3.get * get 获取年月日 格式 get(Calendar.YEAR); 中间是一个点号 . 后面接所要获取的年月日, 一次获取一个! * *注意! 通过 set 和 add 得到的年月日!不能直接输出 ,需要先用 get获得!------[菜鸟自己认为的] * *三、getInstance();?------------->在java中,可以使用这种方式使用单例模式创建类的实例! * * 所谓单例模式就是一个类有且只有一个实例,不像object ob=new object();的这种方式去实例化后去使用。 * */ public class CalendarText { public static void main(String[] args) { run(); add(); //闰年计算! } //Calendar 相关的方法! public static void run(){ Calendar c1=Calendar.getInstance(); //创建对象 c1.set(2000, 2, 1); //设置年月日! int year=c1.get(Calendar.YEAR); //获取年月日! 并输出! int day=c1.get(Calendar.DAY_OF_MONTH); int month=c1.get(Calendar.MONTH); System.out.println(year+"年"+month+"月"+day+"日"); //输出获取的年月日 //显示add 修改日期方法! c1.set(4, 2, 1); //设置2就是三月 因为在类中是0-11; 减少一天 就是2月的最后一天,闰年29,平年28天! //但是直接输出的话会显示是1月!如果不是闰年 ,你会发现输出的是1月28!侧面证实设置2就是3月! c1.add(Calendar. YEAR,0); //【num 的正负决定 年月日的加减!】 c1.add(Calendar. MONTH,0); c1.add(Calendar. DAY_OF_MONTH,-1); int year01=c1.get(Calendar.YEAR); int day01=c1.get(Calendar.DAY_OF_MONTH); int month01=c1.get(Calendar.MONTH); System.out.println(year01+"年"+month01+"月"+day01+"日"); } //利用 Calendar 日历 进行闰年的判断! public static void add(){ Calendar c=Calendar.getInstance(); System.out.println("请输入要判断的年份,列如1995"); int year= new Scanner(System.in).nextInt(); c.set(year, 2,1); // c.add(Calendar. DAY_OF_MONTH,-1); // int day=c.get(Calendar.DAY_OF_MONTH); if(day==29){ System.out.println(year+"是闰年!"); }else{ System.out.println(year+"不是闰年!"); } } }