详解Cleandar日历类--上

「这是我参与11月更文挑战的第15天,活动详情查看:2021最后一次更文挑战

前言

大家好,我是程序猿小白 gw_Gw,很高兴能和大家一起学习进步。
复制代码

以下内容部分来自于网络,如有侵权,请联系我删除,本文仅用于学习交流,不用作任何商业用途。

摘要

本文主要介绍Calendar的作用和对getInstance()方法的参数的解读。
复制代码

1. Calendar类

1.1 Calendar类的作用

Calendar类位于java.util包下,是一个抽象类。Calendar类为特定瞬间与一组诸如 YEARMONTHDAY_OF_MONTHHOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法。

1.2 Calendar类的构造方法

Calendar类是一个抽象类,不能直接new一个对象,但是官方为我们提供了getInstance()方法来获得Calendar对象。

该方法有四个重载方法,分别获得不同格式的Calendar对象。

1.2.1 getInstance()

 static Calendar getInstance()   使用默认时区和语言环境获得一个日历。 
复制代码

实例展示:

 Calendar calendar = Calendar.getInstance();
 System.out.println(calendar);
复制代码

结果参数解读:

time=1637158529704 距离标准时间的毫秒数
areFieldsSet=true 如果 fields[] 与当前的设置时间同步,则返回 true
areAllFieldsSet=true 如果所有字段都已设置,则为True。
lenient=true 如果此日历在从fields[]计算时间期间允许超出范围的字段值,则为True, Calendar有两种解释日期的模式,lenient和non-lenient,这里先了解即可。
zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai" 此日历使用的时区
offset=28800000 与标准时间的偏移量
firstDayOfWeek=1, 一周的第一天
minimalDaysInFirstWeek=1 一个月或一年中的第一周所需的天数,可能的值从1到7
ERA=1 指示年代,比如罗马儒略历中的 AD 或 BC。
YEAR=2021 年份
MONTH=10 月份,从0开始,0~11
WEEK_OF_YEAR=47 这一年的第几个星期
WEEK_OF_MONTH=3 这个月的第几个星期
DAY_OF_MONTH=17 这个月的第几天 1~31
DAY_OF_YEAR=321 这一年的第几天 从1开始
DAY_OF_WEEK=4 这周的第几天,表示星期几+1, 4就表示星期三
DAY_OF_WEEK_IN_MONTH=3 指示当前月中的第几个星期。
AM_PM=1 表示上午还是下午,0表示上午,1表示下午
HOUR=10 上午或下午的小时。1-12
HOUR_OF_DAY=22 一天中的小时 0-24
MINUTE=15 一小时中的分钟
SECOND=29 一分钟中的秒
MILLISECOND=704 指示一秒中的毫秒
ZONE_OFFSET=28800000 以毫秒为单位指示距 GMT 的大致偏移量
DST_OFFSET=0 以毫秒为单位指示夏令时的偏移量

小结

以上就是Calendar类的getInstance()方法获得的的参数的解读,希望对读者有所帮助。如有不正之处,欢迎留言指正。

Guess you like

Origin juejin.im/post/7031558451578798116