Java.util.Calendar 类

简介

java.util.calendar 类是一个抽象类,它提供了在特定时刻和一组日历字段(例如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等)之间进行转换的方法,以及 用于操作日历字段,例如获取下周的日期。以下是有关日历的要点 −

  • 该类还提供了额外的字段和方法,用于在包外实现具体的日历系统。

  • 日历定义了某些日历字段返回的值的范围。


类声明

以下是 java.util.Calendar 类的声明 −

public abstract class Calendar
   extends Object
   implements Serializable, Cloneable, Comparable<Calendar>

字段

以下是 java.util.Calendar 类的字段 −

  • static int ALL_STYLES − 这是 getDisplayNames 的样式说明符,指示所有样式的名称,例如"January"和"Jan"。

  • static int AM − 这是 AM_PM 字段的值,指示一天中从午夜到正午之前的时段。

  • static int AM_PM − 这是 get 和 set 的字段编号,指示 HOUR 是在中午之前还是之后。

  • static int APRIL − 这是 MONTH 字段的值,表示公历和儒略历中一年中的第四个月。

  • protected boolean areFieldsSet − 如果 fields[] 与当前设置的时间同步,则为 true。

  • static int AUGUST − 这是 MONTH 字段的值,表示公历和儒略历中一年中的第 8 个月。

  • static int DATE − 这是 get 和 set 的字段编号,指示月份中的哪一天。

  • static int DAY_OF_MONTH − 这是 get 和 set 的字段编号,指示月份中的哪一天。

  • static int DAY_OF_WEEK − 这是 get 和 set 的字段编号,指示星期几。

  • static int DAY_OF_WEEK_IN_MONTH − 这是 get 和 set 的字段编号,指示当前月份中星期几的序号。

  • static int DAY_OF_YEAR − 这是 get 和 set 的字段编号,表示当年的天数。

  • static int DECEMBER − 这是 MONTH 字段的值,表示公历和儒略历中一年中的第十二个月。

  • static int DST_OFFSET − 这是 get 和 set 的字段编号,以毫秒为单位指示夏令时偏移量。

  • static int ERA − 这是 get 和 set 的字段编号,表示时代,例如儒略历中的 AD 或 BC。

  • static int FEBRUARY − 这是 MONTH 字段的值,指示公历和儒略历中一年中的第二个月。

  • static int FIELD_COUNT − 这是 get 和 set 识别的不同字段的数量。

  • protected int[] fields − 这是此日历当前设置时间的日历字段值。

  • static int FRIDAY − 这是表示星期五的 DAY_OF_WEEK 字段的值。

  • static int HOUR − 这是 get 和 set 的字段编号,指示上午或下午的时间。

  • static int HOUR_OF_DAY − 这是 get 和 set 的字段编号,指示一天中的时间。

  • protected boolean[] isSet − 这是指示是否设置了日历的指定日历字段的标志。

  • protected boolean isTimeSet − 如果 time 的值有效,则为 true。

  • static int JANUARY − 这是 MONTH 字段的值,表示公历和儒略历中一年中的第一个月。

  • static int JULY − 这是 MONTH 字段的值,表示公历和儒略历中一年中的第七个月。

  • static int JUNE −这是 MONTH 字段的值,表示公历和儒略历中一年中的第 6 个月。

  • static int LONG −这是 getDisplayName 和 getDisplayNames 的样式说明符,表示长名称,例如"January"。

  • static int MARCH −这是 MONTH 字段的值,表示公历和儒略历中一年中的第三个月。

  • static int MAY −这是 MONTH 字段的值,表示公历和儒略历中一年中的第五个月。

  • static int MILLISECOND −这是 get 和 set 的字段编号,表示秒内的毫秒数。

  • static int MINUTE −这是获取和设置的字段编号,指示一小时内的分钟。

  • static int MONDAY −这是表示星期一的 DAY_OF_WEEK 字段的值。

  • static int MONTH − 这是用于获取和设置月份的字段编号。

  • static int NOVEMBER −这是 MONTH 字段的值,表示公历和儒略历中一年中的第十一个月。

  • static int OCTOBER −这是 MONTH 字段的值,表示公历和儒略历中一年中的第十个月。

  • static int PM −这是 AM_PM 字段的值,表示从中午到午夜之前的时段。

  • static int SATURDAY −这是表示星期六的 DAY_OF_WEEK 字段的值。

  • static int SECOND −这是 get 和 set 的字段编号,表示分钟内的秒数。

  • static int SEPTEMBER −这是 MONTH 字段的值,表示公历和儒略历中一年中的第 9 个月。

  • static int SHORT −这是 getDisplayName 和 getDisplayNames 的样式说明符,指示短名称,例如"Jan"。

  • static int SUNDAY −这是表示星期日的 DAY_OF_WEEK 字段的值。

  • static int THURSDAY − 这是表示星期四的 DAY_OF_WEEK 字段的值。

  • protected long time − 这是此日历的当前设置时间,以 1970 年 1 月 1 日 0:00:00 GMT 之后的毫秒数表示。

  • static int TUESDAY − 这是表示星期二的 DAY_OF_WEEK 字段的值。

  • static int UNDECIMBER − 这是 MONTH 字段的值,表示一年中的第 13 个月。

  • static int WEDNESDAY − 这是表示星期三的 DAY_OF_WEEK 字段的值。

  • static int WEEK_OF_MONTH − 这是 get 和 set 的字段编号,指示当前月份中的周数。

  • static int WEEK_OF_YEAR − 这是 get 和 set 的字段编号,表示当年的周数。 .

  • static int YEAR − 这是表示年份的 get 和 set 字段编号。

  • static int ZONE_OFFSET − 这是 get 和 set 的字段编号,指示与 GMT 的原始偏移量(以毫秒为单位)。


类构造函数

序号 构造函数 & 描述
1

protected Calendar()

此构造函数构造一个具有默认时区和语言环境的日历。

2

protected Calendar(TimeZone zone, Locale aLocale)

此构造函数构造具有指定时区和语言环境的日历。


类方法

序号 方法 & 描述
1 abstract void add(int field, int amount)

此方法根据日历的规则在给定的日历字段中添加或减去指定的时间量。

2 boolean after(Object when)

此方法返回此日历是否表示指定对象表示的时间之后的时间。

3 boolean before(Object when)

此方法返回此 Calendar 是否表示指定 Object 表示的时间之前的时间。

4 void clear()

此方法设置此日历未定义的所有日历字段值和时间值(与纪元的毫秒偏移量)。

5 void clear(int field)

此方法设置给定的日历字段值和此日历未定义的时间值(从纪元开始的毫秒偏移量)。

6 Object clone()

此方法创建并返回此对象的副本。

7 int compareTo(Calendar anotherCalendar)

此方法比较两个 Calendar 对象表示的时间值(与 Epoch 的毫秒偏移量)。

8 protected void complete()

此方法填充日历字段中所有未设置的字段。

9 protected abstract void computeFields()

该方法将当前毫秒时间值time转换为fields[]中的日历字段值。

10 protected abstract void computeTime()

此方法将fields[]中的当前日历字段值转换为毫秒时间值time。

11 boolean equals(Object obj)

此方法将此日历与指定的对象进行比较。

12 int get(int field)

此方法返回给定日历字段的值。

13 int getActualMaximum(int field)

在给定此日历的时间值的情况下,此方法返回指定日历字段可能具有的最大值。

14 int getActualMinimum(int field)

在给定此日历的时间值的情况下,此方法返回指定日历字段可能具有的最小值。

15 static Locale[] getAvailableLocales()

此方法返回一个包含所有语言环境的数组,此类的 getInstance 方法可以为其返回本地化实例。

16 String getDisplayName(int field, int style, Locale locale)

此方法返回给定样式和语言环境中日历字段值的字符串表示形式。

17 Map<String,Integer> getDisplayNames(int field, int style, Locale locale)

此方法返回一个 Map,其中包含给定样式和语言环境中日历字段的所有名称及其对应的字段值。

18 int getFirstDayOfWeek()

这个方法得到一周的第一天是什么; 例如,美国的星期日,法国的星期一。

19 abstract int getGreatestMinimum(int field)

此方法返回此 Calendar 实例的给定日历字段的最大最小值。

20 static Calendar getInstance()

此方法使用默认时区和语言环境获取日历。

21 static Calendar getInstance(Locale aLocale)

此方法使用默认时区和指定区域设置获取日历。

22 static Calendar getInstance(TimeZone zone)

此方法获取使用指定时区和默认语言环境的日历。

23 static Calendar getInstance(TimeZone zone, Locale aLocale)

此方法获取具有指定时区和语言环境的日历。

24 abstract int getLeastMaximum(int field)

此方法返回此日历实例的给定日历字段的最低最大值。

25 abstract int getMaximum(int field)

此方法返回此 Calendar 实例的给定日历字段的最大值。

26 int getMinimalDaysInFirstWeek()

此方法获取一年中第一周所需的最少天数; 例如,如果第一周定义为包含一年中第一个月的第一天,则此方法返回 1。

27 abstract int getMinimum(int field)

此方法返回此 Calendar 实例的给定日历字段的最小值。

28 Date getTime()

此方法返回一个 Date 对象,表示此日历的时间值(从 Epoch 开始的毫秒偏移量)。

29 long getTimeInMillis()

此方法以毫秒为单位返回此日历的时间值。

30 TimeZone getTimeZone()

此方法获取时区。

31 int hashCode()

此方法返回此日历的哈希码。

32 protected int internalGet(int field)

此方法返回给定日历字段的值。

33 boolean isLenient()

这个方法告诉日期/时间解释是否宽松。

34 boolean isSet(int field)

此方法确定给定日历字段是否设置了值,包括该值已由 get 方法调用触发的内部字段计算设置的情况。

35 abstract void roll(int field, boolean up)

此方法在给定时间字段上添加或减去(上/下)单个时间单位,而不更改更大的字段。

36 void roll(int field, int amount)

此方法将指定(签名)金额添加到指定日历字段,而不更改更大的字段。

37 void set(int field, int value)

此方法将给定的日历字段设置为给定的值。

38 void set(int year, int month, int date)

此方法设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值。

39 void set(int year, int month, int date, int hourOfDay, int minute)

此方法设置日历字段 YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY 和 MINUTE 的值。

40 void set(int year, int month, int date, int hourOfDay, int minute, int second)

此方法设置字段 YEAR、MONTH、DAY_OF_MONTH、HOUR、MINUTE 和 SECOND 的值。

41 void setFirstDayOfWeek(int value)

此方法设置一周的第一天是什么; 例如,美国的星期天,法国的星期一。

42 void setLenient(boolean lenient)

此方法指定日期/时间解释是否宽松。

43 void setMinimalDaysInFirstWeek(int value)

此方法设置一年中第一周所需的最少天数; 例如,如果第一周被定义为包含一年中第一个月的第一天的一周,则使用值调用此方法。

44 void setTime(Date date)

这个方法用给定的日期设置这个日历的时间。

45 void setTimeInMillis(long millis)

此方法根据给定的 long 值设置此日历的当前时间。

46 void setTimeZone(TimeZone value)

此方法使用给定的时区值设置时区。

47 String toString()

此方法返回此日历的字符串表示形式。


继承的方法

这个类继承了以下类的方法 −

  • java.util.Object