Java Calendar
1 什么是Calendar?
- Calendar(读音:[ˈkælɪndə(r)] )是java util包下的一个工具类,提供了不同日期格式的处理。
- Calendar是一个抽象类,不能用构造器来创建,但Calendar提供了几个静态方法来获取Calendar类。例如:Calendar.getInstance()。
- Calendar类实现了公历日历,其子类GregorianCalendar是它的一个具体体现。
2 Calendar的使用
2.1 创建
Calendar calendar = Calendar.getInstance();
Calendar calendar = new GregorianCalendar();
2.2 方法
2.2.1 get(int field)获取指定字段的值
1 Calendar c = Calendar.getInstance(); 2 System.out.println(c); 3 4 //获取当前日历的所表示的年份 5 int year = c.get(Calendar.YEAR); 6 System.out.println(year); 7 8 //获取给定的日历所表示的月份 9 int month = c.get(Calendar.MONTH); 10 System.out.println(month); 11 12 //获取给定的日历所表示的日期(本月的第几天) 13 int day = c.get(Calendar.DAY_OF_MONTH); 14 System.out.println(day); 15 16 //获取给定的日历所表示的小时 17 int hour = c.get(Calendar.HOUR_OF_DAY); //24小时制 HOUR:12小时制 18 System.out.println(hour); 19 20 //获取给定的日历所表示的分钟 21 int min = c.get(Calendar.MINUTE); 22 System.out.println(min); 23 24 //获取给定的日历所表示的秒钟 25 int second = c.get(Calendar.SECOND); 26 System.out.println(second); 27 28 //获取今天是星期几 29 int week = c.get(Calendar.DAY_OF_WEEK); //从星期天开始计算,如果今天是星期二,则返回3 30 System.out.println("当前是这周的第几天:"+week);
2.2.2 set(int field,int value)设置指定字段的值
1 Calendar c2 = Calendar.getInstance(); 2 3 //设置日期为 2000年8月31日 4 c2.set(2000, 7, 31); 5 //设置年份 6 c2.set(Calendar.YEAR, 2022); 7 //设置月份 8 c2.set(Calendar.MONTH, 8); 9 //设置日(该月的第几天) 10 c2.set(Calendar.DAY_OF_MONTH,15); 11 12 System.out.println(c2);
注意:月份获取需要 +1,那么,赋值时需要 -1!
月份获取需要 +1,那么,赋值时需要 -1!
月份获取需要 +1,那么,赋值时需要 -1!
2.2.3 getActualMaximum(int field) 获取指定字段具备的最大值
(读音:[ˈæktʃuəl] [ˈmæksɪməm])
1 //获取指定字段具备最大值,获得最大月份 2 int max = c2.getActualMaximum(Calendar.MONTH); 3 System.out.println(max); 4 5 //获取当前日历所表示月份的最大天数 6 int days = c2.getActualMaximum(Calendar.DAY_OF_MONTH); 7 System.out.println(days);
2.2.4 getTime()获取当前日历所表示的java.util.Date对象
1 //将日历对象转换为java.util.Date 2 Date date = c2.getTime(); 3 System.out.println(date);
2.2.5 getTimeInMillis()获取当前日历所表示时间的毫秒数
(从1970年1月1日 0时0分0秒开始)
1 //Calendar类型转换到Timestamp类型 2 Timestamp t = c2.getTimeInMillis(); 3 System.out.println(t);
2.2.6 add()对当前日历进行计算
1 //当前日历加上10天 2 c2.add(Calendar.DATE, 10); 3 ////当前日历减去10天 4 c1.add(Calendar.DATE, -10);
Calendar.MONTH等其他字段属性add使用同此
3 GregorianCalendar类
3.1常用方法
1 GregorianCalendar gc = new GregorianCalendar(); 2 //判断给定的年份是否是闰年 3 boolean leapYear = gc.isLeapYear(2020);
项目使用展示: