zoukankan      html  css  js  c++  java
  • 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 new
    11 * 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号 月份要加1
    50 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 }
    何事都只需坚持.. 难? 维熟尔。 LZL的自学历程...只需坚持
  • 相关阅读:
    写一写这几天安卓开发遇到的坑
    安卓环境搭建
    正则表达式
    一段时间的总结
    路飞-登录页面
    路飞-腾讯云短信接口
    路飞-Redis
    路飞-git操作
    路飞-后台xadmin配置
    路飞-后台处理跨域问题
  • 原文地址:https://www.cnblogs.com/LZL-student/p/5889881.html
Copyright © 2011-2022 走看看