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);

其他方法列表

项目使用展示:

 

 

 

 

 

posted on 2020-10-29 17:45  CHENSISI  阅读(140)  评论(0编辑  收藏  举报