• 常用Java API:Calendar日期类


    摘要

    在蓝桥杯中有关于日期计算的问题,正好java中的Date类和Calendar类提供了对日期处理的一些方法。Date类大部分方法已经废弃了,所以本文将详细介绍Calendar类。

    Calendar类

    Calendar 类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
    瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。

    常用的日历字段

    • YEAR 指示年的 get 和 set 的字段数字。
    • MONTH 指示月份的 get 和 set 的字段数字。
    • DAY_OF_MONTH get 和 set 的字段数字, 指示一个月中的某天。
    • DAY_OF_WEEK get 和 set 的字段数字, 指示一个星期中的某天。
    • DAY_OF_YEAR get 和 set 的字段数字, 指示当前年中的天数。
    • DAY_OF_WEEK_IN_MONTH get 和 set 的字段数字, 指示当前月中的第几个星期。
    • HOUR get 和 set 的字段数字,指示当天中的某小时
    • MINUTE get 和 set 的字段数字,指示当前小时中的某分钟
    • SECOND get 和 set 的字段数字,指示当前分钟中的某秒
    • time 以毫秒为单位,表示自格林威治标准时间 1970 年 1月 1 日 0:00:00 后经过的时间。
      (字段就是Claendar类的成员变量,用于存储当前日历的年月日等时间信息。

    Claendar类的实例化

    getInstance();//返回一个默认时区和语言环境的日历

    Calendar calendar = Calendar.getInstance();//赋值给calendar
    

    设置特定日期

    set(int field, int value);//第一个参数是日期字段,诸如YEAR、MONTH 等将给定的日历字段设置为给定值。
    set(int year, int month, int date)// 设置日历字段年月日的值

    Calendar calendar = Calendar.getInstance();//创建个实例
    int year = 2020;
    int month = 1;//1是二月 0是1月
    int day = 19;
    calendar.set(Calendar.YEAR, year);// 将year的值赋给calender的YEAR字段
    calendar.set(Calendar.MONTH, month);//将month的值赋给calender的MONTH字段
    calendar.set(Calendar.DAY_OF_MONTH);//将day的值赋值给calendder的DAT_OF_MONTH字段
    
    //以上就完成了对calender的字段设置。
    

    有趣的是MONTH字段是从0月开始计数的,所以12月对应的值是11。DAY_OF_WEEK中星期天对应的是1,星期一对应的是2,星期六对应的是7,而YEAR和DAY_OF_MONTH都是从1开始计数

    获取当前Calender实例的字段信息

    get(int field);// 获取给定字段的值

    Calendar calendar = Calendar.getInstance();
    // 设置日期为: 2020.2.19
    calendar.set(Calendar.YEAR, 2020);
    calendar.set(Calendar.MONTH, 1);
    calendar.set(Calendar.DAY_OF_MONTH, 19);
    // 获取2020.2.19是星期几
    System.out.print(calendar.get(Calendar.DAY_OF_WEEK));
    
    输出:
    4 // 4代表星期三
    

    增减时间

    add(int field, int amount);// 根据日历的规则,为给定的日历字段添加或减去指定的时间量。

  • 相关阅读:
    eclipse中设置自动生成的author,date等注释
    JSP基本指令
    java代码注释规范
    java中的 FileWriter类 和 FileReader类的一些基本用法
    关于java中BufferedReader的read()及readLine()方法的使用心得
    java开发中经典的三大框架SSH
    Java访问修饰符(访问控制符)
    Linux环境变量具体内容介绍
    MSG结构体和WndProc窗口过程详解
    Java当出现未被捕获的异常应该如何处理
  • 原文地址:https://www.cnblogs.com/wangzheming35/p/12330192.html
Copyright © 2020-2023  润新知