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); //从星期天开始计算,如果今天是星期二,则返回330 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 = newGregorianCalendar();2 //判断给定的年份是否是闰年
3 boolean leapYear = gc.isLeapYear(2020);
项目使用展示: