zoukankan      html  css  js  c++  java
  • Java Calender 类详解

    一、   如何创建 Calendar 对象

    Calendar 是一个抽象类, 无法通过直接实例化得到对象. 因此, Calendar 提供了一个方法 getInstance,来获得一个Calendar对象, 得到的 Calendar 由当前时间初始化.

    1 Calendar cal = Calendar.getInstance();

    二、   字段详解

    Calendar 中 set 和 get 时间都是通过在参数中填入不同的字段来实现的不过有部分字段的常量值与约定俗成的值不相同

    下面字段我们以 1998 2 月 28 日 23 时 11 分 11 秒 来讲解

    1 Calendar cal = Calendar.getInstance();
    2 cal.set(Calendar.YEAR, 1998);
    3 cal.set(Calendar.MONTH, 1);
    4 cal.set(Calendar.DATE, 28);
    5 cal.set(Calendar.HOUR_OF_DAY, 23);
    6 cal.set(Calendar.MINUTE, 11);
    7 cal.set(Calendar.SECOND, 11);

    1.  YEAR

    默认情况下指示为年份.

    例子中 YEAR 为 1998

    2.  MONTH

    指示当前年中的月份数,一年中的一月的值为 0

    需要注意的是 JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER 分别与 [0, 11] 对应, 在设置和获取日期时要格外注意

    3.  WEEK_OF_YEAR

    指示当前年中的星期数. 一年中的第一个星期的值为 1.

    例子中 WEEK_OF_YEAR 为 9

    4.  WEEK_OF_MONTH

    指示当前月中的星期数. 一个月中第一个星期的值为 1.

    例子中 WEEK_OF_MONTH 为 5

    5.  DAY_OF_MONTH

    指示一个月中的某天. 它与 DATE 是同义词. 一个月中第一天的值为 1.

    例子中 DAY_OF_MONTH 为 28

    6.  DATE

    DAY_OF_MONTH

    7.  DAY_OF_YEAR

    指示当前年中的天数. 一年中第一天的值为 1.

    例子中 DAY_OF_YEAR 为 59

    8.  DAY_OF_WEEK

    指示一个星期中的某天一周中第一天的值为 1.

    需要 注意 的是, 与中国人的习惯不同, 此处一周中的第一天为 周日. 一周的顺序依次为: 周日(1), 周一(2), 周二(3), 周三(4), 周四(5), 周五(6), 周六(7) 在设置和获取日期时要格外注意

    9.  AM_PM

    指示 HOUR 是在中午之前还是在中午之后. [0, 12) 为上午, AM_PM 值为 1 [12, 24)为下午, AM_PM 值为 0

    10.     HOUR

    指示上午或下午的小时.

    例子中 HOUR 为 11

    11.     HOUR_OF_DAY

    指示一天中的小时。 HOUR_OF_DAY 用于 24 小时制时钟

    例子中 HOUR_OF_DAY 为 23

    12.     MINUTE

    指示一小时中的分钟

    例子中 MINUTE 为 11

    13.     SECOND

    指示一分钟中的秒

    例子中 SECOND 为 11

    三、   设置值

    1 cal.set (2013, 5, 4, 13, 44, 51);//年月日时分秒 (月份0代表1月) 
    2 cal.set (Calendar.YEAR, 2014);//
    3 cal.set (Calendar.MONTH, 7);//月 (月份0代表1月) 
    4 cal.set (Calendar.DATE, 11);//
    5 cal.set (Calendar.HOUR_OF_DAY, 15);//
    6 cal.set (Calendar.MINUTE, 33);//
    7 cal.set (Calendar.SECOND, 32);//

    四、   获取值

    1 cal.get (Calendar.YEAR);//
    2 cal.get (Calendar.MONTH) + 1;//月 (必须要+1) 
    3 cal.get (Calendar.DATE);//
    4 cal.get (Calendar.HOUR_OF_DAY);//
    5 cal.get (Calendar.MINUTE);//
    6 cal.get (Calendar.SECOND);//
    7 cal.get (Calendar.DAY_OF_WEEK);//星期 (Locale.ENGLISH情况下,周日是1,剩下自己推算)

    五、   运算值

    1.  Add

    1 cal.add (Calendar.YEAR, 1);//
    2 cal.add (Calendar.MONTH, 1);//
    3 cal.add (Calendar.DATE, 1);//
    4 cal.add (Calendar.HOUR_OF_DAY, -1);//
    5 cal.add (Calendar.MINUTE, 1);//
    6 cal.add (Calendar.SECOND, 1);//
    7 cal.add (Calendar.DATE, 7);//

    六、  Calendar 对象间的比较

    比较两个 Calendar 对象表示的时间值, 如果参数表示的时间等于此 Calendar 表示的时间,则返回 0 值;如果此 Calendar 的时间在参数表示的时间之前,则返回小于 0 的值;如果此 Calendar 的时间在参数表示的时间之后,则返回大于 0 的值。

     

  • 相关阅读:
    npm ERR! shasum check failed for
    使用js闭包封装一个原生的模态框
    使用weexplus + vue开发APP的填坑之旅
    weex 中出现 loading无法关闭
    weex create test-app Error: Cannot find module '../package.json'
    flutter 填坑之旅(dart学习笔记篇)
    各种版本的Linux 镜像下载网址
    在vue 项目中嵌入jsp页面
    mahout 推荐引擎的相关介绍,理解,如何应用。(2)
    mahout 推荐引擎的相关介绍,理解,如何应用。(1)
  • 原文地址:https://www.cnblogs.com/ShallByeBye/p/8411130.html
Copyright © 2011-2022 走看看