Java Calendar类

Java.util包提供了一个Calendar类,它以毫秒的精度表示特定的时刻

类声明

java.util.Calendar类的声明是:

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

字段

序号字段和描述
1static int ALL_STYLES
getDisplayNames的样式说明符,指示所有样式中的名称,如"January"和"Jan"
2static int AM
AM_PM字段的值,指示一天中从午夜到中午之前的时段
3static int AM_PM
获取和设置的字段编号,指示HOUR是在中午之前还是之后
4static int APRIL
MONTH字段的值,表示公历和儒略历中一年中的第四个月
5protected boolean areFieldsSet
如果字段[]与当前设置的时间同步,则为True
6static int AUGUST
MONTH字段的值,表示公历和儒略历中一年中的第八个月
7static int DATE
get和set的字段号,表示月份的哪一天
8static int DAY_OF_MONTH
获取和设置的字段号,表示月份的哪一天
9static int DAY_OF_WEEK
获取和设置的字段号,指示一周中的哪一天
10static int DAY_OF_WEEK_IN_MONTH
get和set的字段号,指示当前月份内星期几的序号
11static int DAY_OF_YEAR
获取和设置的字段号,指示当前年份中的日期
12static int DECEMBER
MONTH字段的值,表示公历和儒略历中一年中的第十二个月
13static int DST_OFFSET
获取和设置的字段号,指示夏令时偏移量(以毫秒为单位)
14static int ERA
get和set的字段号,指示时代,例如儒略历中的公元前或公元前
15static int FEBRURARY
MONTH字段的值,表示公历和儒略历中一年中的第二个月
16static int FIELD_COUNT
get和set识别的不同字段数
17protected int[]field
此日历当前设置时间的日历字段值
18static int FRIDAY
指示星期五的DAY_of_WEEK字段的值
19static int HOUR
get和set的字段号,指示上午或下午的小时数
20static int HOUR_OF_DAY
获取和设置的字段号,指示一天中的小时数
21protected boolean[]isSet
指示是否设置了日历的指定日历字段的标志
22protected boolean isTimeSet
如果时间值有效,则为True
23static int JANUARY
MONTH字段的值,表示公历和儒略历中一年中的第一个月
24static int JULY
MONTH字段的值,表示公历和儒略历中一年中的第七个月
25static int JUNE
MONTH字段的值,表示公历和儒略历中一年中的第六个月
26static int LONG
与LONG_FORMAT等效的getDisplayName和getDisplayNames的样式说明符
27static int LONG_FORMAT
getDisplayName和getDisplayNames的样式说明符,指示用于格式的长名称
28static int LONG_STANDALONE
getDisplayName和getDisplayNames的样式说明符,指示独立使用的长名称,例如作为日历标头的月份名称
29static int MARCH
MONTH字段的值,表示公历和儒略历中一年中的第三个月
30static int MAY
MONTH字段的值,表示公历和儒略历中一年中的第五个月
31static int MILLISECOND
get和set的字段号,指示秒内的毫秒数
32static int MINUTE
get和set的字段号,指示小时内的分钟数
33static int MONDAY
指示星期一的DAY_of_WEEK字段的值
34static int MONTH
get和set的字段号,表示月份
35static int NARROW_FORMAT
getDisplayName和getDisplayNames的样式说明符,指示用于格式的窄名称
36static int NARROW_STANDALONE
getDisplayName和getDisplayNames的样式说明符,独立指示窄名称
37static int NOVEMBER
MONTH字段的值,表示公历和儒略历中一年中的第十一个月
38static int OCTOBER
MONTH字段的值,表示公历和儒略历中一年中的第十个月
39static int PM
AM_PM字段的值,指示一天中从中午到午夜前的时段
40static int SATURDAY
指示星期六的DAY_of_WEEK字段的值
41static int SECOND
get和set的字段号,表示分钟内的秒数
42static int SEPTEMBER
MONTH字段的值,表示公历和儒略历中一年中的第九个月
43static int SHORT
与SHORT_FORMAT等效的getDisplayName和getDisplayNames的样式说明符
44static int SHORT_FORMAT
getDisplayName和getDisplayNames的样式说明符,指示用于格式的短名称
45static int SHORT_STANDALONE
getDisplayName和getDisplayNames的样式说明符,指示独立使用的短名称,例如作为日历标头的月份缩写
46static int SUNDAY
指示周日的DAY_of_WEEK字段的值
47static int THURSDAY
指示星期四的DAY_of_WEEK字段的值
48protected long time
此日历的当前设置时间,以1970年1月1日0:00:00 GMT之后的毫秒为单位.
49static int TUESDAY
指示星期二的DAY_of_WEEK字段的值
50static int UNDECIMBER
表示一年中第十三个月的MONTH字段的值
51static int WEDNESDAY
指示星期三的DAY_of_WEEK字段的值
52static int WEEK_OF_MONTH
获取和设置的字段号,指示当前月份内的周数
53static int WEEK_OF_YEAR
获取和设置的字段号,指示当前年份内的周数
54static int YEAR
get和set的字段号,表示年份
55static int ZONE_OFFSET
获取和设置的字段号,指示与GMT的原始偏移量(以毫秒为单位)

类构造函数

序号构造函数说明

1protected Calendar()
构造具有默认时区和默认FORMAT区域设置的日历
2protected Calendar(时区,区域设置aLocale)
构造具有指定时区和区域设置的日历

java.util.日历方法

java.util.Calendar类有许多方法,如下所示:

成员方法

序号方法说明
1abstract void add(int field,int amount)
根据日历规则,将指定的时间量添加或减去给定的日历字段
2boolean after(Object when)
返回此日历是否表示在指定对象表示的时间之后的时间
3boolean before(Object when)
返回此日历是否表示在指定对象表示的时间之前的时间
4void clear()
设置此日历的所有日历字段值和时间值(从纪元偏移的毫秒)未定义
5void clear(int field)
设置未定义的给定日历字段值和此日历的时间值(从纪元偏移的毫秒)
6Object clone()
创建并返回此对象的副本
7int compareTo(Calendar anotherCalendar)
比较由两个日历对象表示的时间值(从纪元的毫秒偏移量)
8protected void complete()
填充日历字段中任何未设置的字段
9protected abstract void computeFields()
将字段[]中的当前毫秒时间值时间转换为日历字段值
10protected abstract void computeTime()
将字段[]中的当前日历字段值转换为毫秒时间值time
11boolean equals(Object obj)
将此日历与指定的对象进行比较
12int get(int field)
返回给定日历字段的值
13int getActualMaximum(int field)
返回给定此日历的时间值的指定日历字段可能具有的最大值
14int getActualMinimum(int field)
返回给定此日历的时间值的指定日历字段可能具有的最小值
15static SetnootransLStringnootransR getAvailableCalendarTypes()
返回一个不可修改的集,该集包含运行时环境中日历支持的所有日历类型
16static Locale[]getAvailableLocales()
返回此类的getInstance方法可以返回本地化实例的所有区域设置的数组
17String getCalendarType()
返回此日历的日历类型
18String getDisplayName(int field,int style,Locale locale)
返回给定样式和区域设置中日历字段值的字符串表示形式
19MapnootransLString,IntegernootransR getDisplayNames(int field,int style,Locale locale)
返回一个Map,该Map包含给定样式和区域设置中日历字段的所有名称及其对应的字段值
20int getFirstDayOfWeek()
获取一周中的第一天;例如,美国的周日,法国的周一
21abstract int getGreatestMinimum(int field)
返回此日历实例的给定日历字段的最高最小值
22static Calendar getInstance()
使用默认时区和区域设置获取日历
23static Calendar getInstance(Locale aLocale)
使用默认时区和指定的区域设置获取日历
24static Calendar getInstance(TimeZone timezone)
使用指定的时区和默认区域设置获取日历
25static Calendar getInstance(TimeZone zone, Locale aLocale)
获取具有指定时区和区域设置的日历
26abstract int getLeastMaximum(int field)
返回此日历实例的给定日历字段的最低最大值
27abstract int getMaximum(int field)
返回此日历实例的给定日历字段的最大值
28int getMinimalDaysInFirstWeek()
获取一年中第一周所需的最少天数;例如,如果第一周被定义为包含一年中第一个月的第一天,则此方法返回1
29abstract int getMinimum(int field)
返回此日历实例的给定日历字段的最小值
30Date getTime()
返回表示此日历的时间值(从纪元偏移的毫秒数)的Date对象.
31.long getTimeInMillis(">TimeZone getTimeZone()
获取时区.
33.int getWeeksInWeekYear()返回此日历表示的周年中的周数.
34.int getWeekYear
返回此日历所表示的周-年
35int hashCode()
返回此日历的哈希代码
36protected int internalGet(int field)
返回给定日历字段的值
37boolean isLenient()
告诉日期/时间解释是否宽松
38boolean isSet(int field)
确定给定日历字段是否有值集,包括由get方法调用触发的内部字段计算设置值的情况
39boolean isWeekDateSupported()
返回此日历是否支持周日期
40abstract void roll(int field, boolean up)
在给定时间字段上添加或减去(向上/向下)单个时间单位,而不更改较大的字段
41void roll(int field, int amount)
将指定的(签名的)金额添加到指定的日历字段,而不更改较大的字段
42void set(int field, int value)
将给定日历字段设置为给定值
43void set(int year,int month,int date)
设置日历字段year、month和DAY_OF_month的值
44void set(int year,int month,int date,int hourOfDay,int minute)
设置日历字段year、month、DAY_OF_month、HOUR_OF_DAY和minute的值
45void set(int year,int month,int date,int hourOfDay,int minute,int second)
设置字段year、month、DAY_OF_month、HOUR_OF_DAY、minute和second的值
46void setFirstDayOfWeek(int value)
设置一周的第一天;例如,美国的周日,法国的周一
47void setLenient(boolean lenient)
指定日期/时间解释是否宽松
48void setMinimalDaysInFirst week(int value)
设置一年中第一周所需的最小天数;例如,如果第一周被定义为包含一年中第一个月的第一天,则使用值1调用此方法
49void setTime(Date date)
使用给定日期设置此日历的时间
50void setTimeInMillis(long millis)
根据给定的长值设置此日历的当前时间
51void setTimeZone(TimeZone zone)
使用给定的时区值设置时区
52void setWeekDate(int weekYear,int weekOfYear,int-dayOfWeek)
使用给定的日期说明符设置此日历的日期-周-年、周和周
53Instant toInstant()
将此对象转换为Instant
54String toString()
返回此日历的字符串表示形式

继承的方法

此类继承以下类的方法:

  • java.lang.Object