首页 > 代码库 > java 14 -10 Calendar类以及练习

java 14 -10 Calendar类以及练习


  Calendar:它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,
       并为操作日历字段(例如获得下星期的日期)提供了一些方法。

  1、public int get(int field):返回给定日历字段的值。日历类中的每个日历字段都是静态的成员变量,并且是int类型。
  2、public void add(int field,int amount):根据给定的日历字段和对应的时间,来对当前的日历进行操作。
  3、public final void set(int year,int month,int date):设置当前日历的年月日

 1 import java.util.Calendar; 2  3 public class CalendarDome1 { 4  5 public static void main(String[] args) { 6 // 其日历字段已由当前日期和时间初始化: 必须要 使用默认时区和语言环境获得一个日历。 7 Calendar time = Calendar.getInstance(); 8  9 /*10 * abstract class Person { public static Person getPerson() { return new11 * Student(); } }12 * 13 * class Student extends Person {14 * 15 * }16 */17 18 // public int get(int field):返回给定日历字段的值。日历类中的每个日历字段都是静态的成员变量,并且是int类型。19 int year = time.get(Calendar.YEAR);20 int month = time.get(Calendar.MONTH) + 1;// 月份是从0开始计算21 int day = time.get(Calendar.DATE);22 int hour = time.get(Calendar.HOUR_OF_DAY);23 int minute = time.get(Calendar.MINUTE);24 int second = time.get(Calendar.SECOND);25 System.out.println(year + "年" + month + "月" + day + "日" + hour + "时"26 + minute + "分" + second + "秒");27 28 System.out.println("---------------------");29 30 // public void add(int field,int amount):根据给定的日历字段和对应的时间,来对当前的日历进行操作。31 32 // 3年后的2天前33 time.add(Calendar.YEAR, 3);34 time.add(Calendar.DAY_OF_MONTH, -2);35 36 // 输出37 year = time.get(Calendar.YEAR);38 month = time.get(Calendar.MONTH) + 1;// 月份是从0开始计算39 day = time.get(Calendar.DATE);40 hour = time.get(Calendar.HOUR_OF_DAY);41 minute = time.get(Calendar.MINUTE);42 second = time.get(Calendar.SECOND);43 System.out.println(year + "年" + month + "月" + day + "日" + hour + "时"44 + minute + "分" + second + "秒");45 System.out.println("---------------------");46 47 // public final void set(int year,int month,int date):设置当前日历的年月日48 49 // 2020年11月1号 月份要加150 time.set(2020, 10, 1);51 year = time.get(Calendar.YEAR);52 month = time.get(Calendar.MONTH) + 1;// 月份是从0开始计算53 day = time.get(Calendar.DATE);54 hour = time.get(Calendar.HOUR_OF_DAY);55 minute = time.get(Calendar.MINUTE);56 second = time.get(Calendar.SECOND);57 System.out.println(year + "年" + month + "月" + day + "日" + hour + "时"58 + minute + "分" + second + "秒");59 }60 61 }

 

 

  需求:输入任意一个年份,得到这年的2月份有几天(可用来判断是否闰年)
  分析:
    A:键盘录入想要查询的年份
    B:进行计算:
      a:可以用设定指定日历的方法 time.set(year,2,1);
          :设定year为查询的年份,而2,1则是查询这一年的3月1号
      b:然后再用 time.add(Calendar.DAY_OF_MONTH, -1);
          :获得的那年的3月1号减去1天,就是那年的2月份的最后一天
    C:输出这一天,就是这年的2月份的天数

 1 import java.util.Calendar; 2 import java.util.Scanner; 3 public class CalendarTest { 4  5 public static void main(String[] args) { 6 //创建键盘输入 7 Scanner sc = new Scanner(System.in); 8 System.out.println("请输入你想查询的年份:"); 9 int year = sc.nextInt();10 11 //使用默认时区和语言环境获得一个日历。12 Calendar time = Calendar.getInstance();13 //获取那年的3月1号14 time.set(year, 2,1);15 //减去1天,获得2月最后一天16 time.add(Calendar.DATE, -1);17 18 //输出这一天19 System.out.println(year+"年的2月份有"+time.get(Calendar.DATE)+"天");20 }21 22 23 }

 

java 14 -10 Calendar类以及练习