public class GregorianCalendar extends Calendar
Calendar
GregorianCalendar是一个具体的子类,提供了世界上大多数使用标准的日历系统。
GregorianCalendar是一个混合的日历,支持朱利安和格里高利历法系统与一个单一的连续的支持,对应的阳历日期默认当公历创立(1582年10月15日在一些国家,后来在别人)。割接日期可以由调用者通过调用setGregorianChange()改变。
从历史上看,这些国家采用公历,1582年10月4日(朱利安)因此,其次是1582年10月15日(阳历)。这个日历模型正确。在公历GregorianCalendar割接,实现了朱利安的日历。公历日历和朱利安之间唯一的区别是闰年规则。朱利安日历指定闰年每四年一次,而忽略了百年的公历是不能被400整除。
GregorianCalendar实现预期的格里高利和朱利安的日历。即,通过推断当前的规则下去远远落后与计算时间日期。作为一个结果,GregorianCalendar可用于所有的年产生有意义的和一致的结果。然而,利用GregorianCalendar是历史的准确日期只从3月1日,公元4年以后,当朱利安采用现代日历规则。在此日期之前,“跨越年规则”被不规则地应用,在公元前45年前,朱利安日历甚至不存在。
以公历的制度之前,新年的第一天是3月25日。为了避免混乱,这个日历总是使用1月1日。如果需要手动调整可能是阳历的转换之前,金秋1月1日和3月24日之间的日期了。
计算从1到53范围内的WEEK_OF_YEAR字段值。一个日历年的第一周是最早的七天内开始getFirstDayOfWeek()包含从那一年至少getMinimalDaysInFirstWeek()天。因此,取决于getMinimalDaysInFirstWeek(),getFirstDayOfWeek()值,和1月1日的一周。一年1周和1周之间,次年周(独家)按顺序编号从2到52或53(除年(S)参与了Julian Gregorian的过渡)。
的getFirstDayOfWeek()和getMinimalDaysInFirstWeek()值使用区域设置依赖的资源建设GregorianCalendar初始化。The week determination is compatible与ISO 8601标准时,getFirstDayOfWeek()是MONDAY和getMinimalDaysInFirstWeek()是4,它的值被用在地区标准者优先。这些值可以被明确地通过调用setFirstDayOfWeek()和setMinimalDaysInFirstWeek()。
一个week year是一WEEK_OF_YEAR周期同步。在第一周和最后几周(包括)之间的所有星期都有相同的一周的价值。因此,一周的第一天和最后一天可能会有不同的日历年值。
例如,1998年1月1日是一个星期四。如果getFirstDayOfWeek()是MONDAY和getMinimalDaysInFirstWeek() 4(ISO 8601标准兼容的设置),然后1周1998从1997年12月29日开始,1998年1月4日结束。本周的一年是1998的最后三天的日历年1997。如果,然而,getFirstDayOfWeek()是SUNDAY,然后1周1998从1998年1月4日开始,1998年1月10日结束;1998前三天,然后是53周,1997周是1997年。
计算从0到6范围内的WEEK_OF_MONTH字段值。一个月的1周(与WEEK_OF_MONTH = 1天)是最早的组至少getMinimalDaysInFirstWeek()连续天月结束的前一天getFirstDayOfWeek()。不像一年1周,一个月1周不得短于7天,不需要启动getFirstDayOfWeek(),不包括前一个月的日子。1周前有一个WEEK_OF_MONTH每月0天。
例如,如果getFirstDayOfWeek()是SUNDAY和getMinimalDaysInFirstWeek()是4,然后1998一月第一周的星期日,1月4日通过星期六,1月10日。这些天有一个WEEK_OF_MONTH 1。1月1日星期四,通过星期六,1月3日有一个WEEK_OF_MONTH 0。如果getMinimalDaysInFirstWeek()改为3,然后从1月1日到1月3日有一个WEEK_OF_MONTH 1。
的clear方法设置日历字段(S)定义。GregorianCalendar使用以下默认值为每个日历字段如果它的值是未定义的。
| Field |
Default Value |
|---|---|
ERA |
AD |
YEAR |
1970 |
MONTH |
JANUARY |
DAY_OF_MONTH |
1 |
DAY_OF_WEEK |
the first day of week |
WEEK_OF_MONTH |
0 |
DAY_OF_WEEK_IN_MONTH |
1 |
AM_PM |
AM |
HOUR, HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND |
0 |
例子:
// get the supported ids for GMT-08:00 (Pacific Standard Time)
String[] ids = TimeZone.getAvailableIDs(-8 * 60 * 60 * 1000);
// if no ids were returned, something is wrong. get out.
if (ids.length == 0)
System.exit(0);
// begin output
System.out.println("Current Time");
// create a Pacific Standard Time time zone
SimpleTimeZone pdt = new SimpleTimeZone(-8 * 60 * 60 * 1000, ids[0]);
// set up rules for Daylight Saving Time
pdt.setStartRule(Calendar.APRIL, 1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);
pdt.setEndRule(Calendar.OCTOBER, -1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);
// create a GregorianCalendar with the Pacific Daylight time zone
// and the current date and time
Calendar calendar = new GregorianCalendar(pdt);
Date trialTime = new Date();
calendar.setTime(trialTime);
// print out a bunch of interesting things
System.out.println("ERA: " + calendar.get(Calendar.ERA));
System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
System.out.println("DATE: " + calendar.get(Calendar.DATE));
System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
System.out.println("DAY_OF_WEEK_IN_MONTH: "
+ calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));
System.out.println("HOUR: " + calendar.get(Calendar.HOUR));
System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
System.out.println("ZONE_OFFSET: "
+ (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000)));
System.out.println("DST_OFFSET: "
+ (calendar.get(Calendar.DST_OFFSET)/(60*60*1000)));
System.out.println("Current Time, with hour reset to 3");
calendar.clear(Calendar.HOUR_OF_DAY); // so doesn't override
calendar.set(Calendar.HOUR, 3);
System.out.println("ERA: " + calendar.get(Calendar.ERA));
System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
System.out.println("DATE: " + calendar.get(Calendar.DATE));
System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
System.out.println("DAY_OF_WEEK_IN_MONTH: "
+ calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));
System.out.println("HOUR: " + calendar.get(Calendar.HOUR));
System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
System.out.println("ZONE_OFFSET: "
+ (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000))); // in hours
System.out.println("DST_OFFSET: "
+ (calendar.get(Calendar.DST_OFFSET)/(60*60*1000))); // in hours
TimeZone,
Serialized Form
Calendar.Builder| Modifier and Type | Field and Description |
|---|---|
static int |
AD
指示共同的时代
ERA字段值(Anno Domini),也被称为CE。
|
static int |
BC
指示时期常见的时代之前的
ERA字段值(公元前),也被称为公元前。
|
ALL_STYLES, AM, AM_PM, APRIL, areFieldsSet, AUGUST, DATE, DAY_OF_MONTH, DAY_OF_WEEK, DAY_OF_WEEK_IN_MONTH, DAY_OF_YEAR, DECEMBER, DST_OFFSET, ERA, FEBRUARY, FIELD_COUNT, fields, FRIDAY, HOUR, HOUR_OF_DAY, isSet, isTimeSet, JANUARY, JULY, JUNE, LONG, LONG_FORMAT, LONG_STANDALONE, MARCH, MAY, MILLISECOND, MINUTE, MONDAY, MONTH, NARROW_FORMAT, NARROW_STANDALONE, NOVEMBER, OCTOBER, PM, SATURDAY, SECOND, SEPTEMBER, SHORT, SHORT_FORMAT, SHORT_STANDALONE, SUNDAY, THURSDAY, time, TUESDAY, UNDECIMBER, WEDNESDAY, WEEK_OF_MONTH, WEEK_OF_YEAR, YEAR, ZONE_OFFSET| Constructor and Description |
|---|
GregorianCalendar()
使用默认时区的当前时间与默认的
FORMAT现场建立一个默认的
GregorianCalendar。
|
GregorianCalendar(int year, int month, int dayOfMonth)
构建了一个给定的数据集的默认时区与默认区域
GregorianCalendar。
|
GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute)
构建了一个
GregorianCalendar与给定的日期和时间设置默认时区与默认的区域设置。
|
GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second)
构建一个公历的日期和时间设置默认时区与默认的区域设置。
|
GregorianCalendar(Locale aLocale)
构建了一个
GregorianCalendar基于给定区域的默认时区的当前时间。
|
GregorianCalendar(TimeZone zone)
构建了一个
GregorianCalendar基于默认
FORMAT现场在特定时区的当前时间。
|
GregorianCalendar(TimeZone zone, Locale aLocale)
构建了一个
GregorianCalendar基于给定区域在特定时区的当前时间。
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(int field, int amount)
根据日历的规则,将指定的时间(符号)添加到给定的日历字段中。
|
Object |
clone()
创建并返回此对象的副本。
|
protected void |
computeFields()
转换时间(毫秒值偏离
Epoch)日历字段值。
|
protected void |
computeTime()
将日历字段值的时间(毫秒值偏离
Epoch)。
|
boolean |
equals(Object obj)
比较这
GregorianCalendar到指定的
Object。
|
static GregorianCalendar |
from(ZonedDateTime zdt)
从
ZonedDateTime得到对象的默认区域
GregorianCalendar实例。
|
int |
getActualMaximum(int field)
返回此日历字段可以有最大值,考虑了时间价值的
getFirstDayOfWeek,
getMinimalDaysInFirstWeek电流值,
getGregorianChange和
getTimeZone方法。
|
int |
getActualMinimum(int field)
返回日历本场有最小值,考虑了时间价值的
getFirstDayOfWeek,
getMinimalDaysInFirstWeek电流值,
getGregorianChange和
getTimeZone方法。
|
String |
getCalendarType()
作为回报
"gregory"日历类型。
|
int |
getGreatestMinimum(int field)
返回本
GregorianCalendar实例给定日历领域最高最低值。
|
Date |
getGregorianChange()
获取公历日期更改。
|
int |
getLeastMaximum(int field)
这
GregorianCalendar实例返回给定日历字段的最大值最低。
|
int |
getMaximum(int field)
这
GregorianCalendar实例返回给定日历字段的最大值。
|
int |
getMinimum(int field)
这
GregorianCalendar实例返回给定日历字段的最小值。
|
TimeZone |
getTimeZone()
获取时区。
|
int |
getWeeksInWeekYear()
返回的
GregorianCalendar代表
week year周数。
|
int |
getWeekYear()
返回的
GregorianCalendar代表
week year。
|
int |
hashCode()
GregorianCalendar生成该对象的哈希码。
|
boolean |
isLeapYear(int year)
确定给定的一年是否是一个跳跃的一年。
|
boolean |
isWeekDateSupported()
返回
true指示这
GregorianCalendar支持周日期。
|
void |
roll(int field, boolean up)
添加或减去(上/下)一个单位的时间在给定的时间场不改变较大的领域。
|
void |
roll(int field, int amount)
在不更改较大字段的范围内将已签名的金额添加到指定的日历字段中。
|
void |
setGregorianChange(Date date)
集
GregorianCalendar更改日期。
|
void |
setTimeZone(TimeZone zone)
用给定的时区值设置时区。
|
void |
setWeekDate(int weekYear, int weekOfYear, int dayOfWeek)
|
ZonedDateTime |
toZonedDateTime()
将该对象到
ZonedDateTime表示时间轴上的同一点为这
GregorianCalendar。
|
after, before, clear, clear, compareTo, complete, get, getAvailableCalendarTypes, getAvailableLocales, getDisplayName, getDisplayNames, getFirstDayOfWeek, getInstance, getInstance, getInstance, getInstance, getMinimalDaysInFirstWeek, getTime, getTimeInMillis, internalGet, isLenient, isSet, set, set, set, set, setFirstDayOfWeek, setLenient, setMinimalDaysInFirstWeek, setTime, setTimeInMillis, toInstant, toStringpublic static final int BC
ERA字段值(公元前),也被称为公元前。序列的年从
BC到
AD是…,公元前2年,公元前1年,公元1年,公元2年,…
public static final int AD
ERA字段值(Anno Domini),也被称为CE。序列的年从
BC到
AD是…,公元前2年,公元前1年,公元1年,公元2年,…
public GregorianCalendar()
FORMAT现场建立一个默认的
GregorianCalendar。
public GregorianCalendar(TimeZone zone)
GregorianCalendar基于默认
FORMAT现场在特定时区的当前时间。
zone -给定的时间区。
public GregorianCalendar(Locale aLocale)
GregorianCalendar基于给定区域的默认时区的当前时间。
aLocale -给定的现场。
public GregorianCalendar(TimeZone zone, Locale aLocale)
GregorianCalendar基于给定区域在特定时区的当前时间。
zone -给定的时间区。
aLocale -给定的现场。
public GregorianCalendar(int year,
int month,
int dayOfMonth)
GregorianCalendar。
year -用于在日历设置
YEAR日历字段的值。
month -用于在日历设置
MONTH日历字段的值。月值是0。例如,一月的0。
dayOfMonth -用于在日历设置
DAY_OF_MONTH日历字段的值。
public GregorianCalendar(int year,
int month,
int dayOfMonth,
int hourOfDay,
int minute)
GregorianCalendar与给定的日期和时间设置默认时区与默认的区域设置。
year -用于在日历设置
YEAR日历字段的值。
month -用于在日历设置
MONTH日历字段的值。月值是0。例如,一月的0。
dayOfMonth -用于在日历设置
DAY_OF_MONTH日历字段的值。
hourOfDay -用于在日历设置
HOUR_OF_DAY日历字段的值。
minute -用于在日历设置
MINUTE日历字段的值。
public GregorianCalendar(int year,
int month,
int dayOfMonth,
int hourOfDay,
int minute,
int second)
year -用于在日历设置
YEAR日历字段的值。
month -用于在日历设置
MONTH日历字段的值。月值是0。例如,一月的0。
dayOfMonth -用于在日历设置
DAY_OF_MONTH日历字段的值。
hourOfDay -用于在日历设置
HOUR_OF_DAY日历字段的值。
minute -用于在日历设置
MINUTE日历字段的值。
second -用于在日历设置
SECOND日历字段的值。
public void setGregorianChange(Date date)
GregorianCalendar更改日期。这时朱利安改用阳历日期发生日期。默认的是1582年10月15日(阳历)。在此之前,日期将在朱利安日历。
获得纯的朱利安日历,设置更改日期Date(Long.MAX_VALUE)。获得纯阳历,设置更改日期Date(Long.MIN_VALUE)。
date -给定日期阳历转换。
public final Date getGregorianChange()
GregorianCalendar对象阳历的割接日期。
public boolean isLeapYear(int year)
true如果给定的年是闰年。指定公元年数、
1 - year number必须给予。例如,公元前公元前3年被指定为- 4。
year的年份。
true如果给定的年是闰年;
false否则。
public String getCalendarType()
"gregory"日历类型。
getCalendarType 方法重写,继承类
Calendar
"gregory"
Locale.Builder.setLocale(Locale),
Locale.Builder.setUnicodeLocaleKeyword(String, String)
public boolean equals(Object obj)
GregorianCalendar到指定的
Object。结果是
true当且仅当参数是一个
GregorianCalendar表示同一时间(毫秒值偏离
Epoch)相同的
Calendar参数和公历日期更改下这个对象。
equals 方法重写,继承类
Calendar
obj -比较对象。
true该对象是否等于
obj;
false否则。
Calendar.compareTo(Calendar)
public int hashCode()
GregorianCalendar生成该对象的哈希码。
hashCode 方法重写,继承类
Calendar
Object.equals(java.lang.Object),
System.identityHashCode(java.lang.Object)
public void add(int field,
int amount)
添加规则1。对field电话减去field值调用之前是amount后的值,模任何溢出发生在field。溢出发生在一场价值超过其范围,因此,下一个较大的领域是递增或递减和字段值调整到它的范围。
添加规则2。如果一个较小的领域将是不变的,但它不可能等于原来的值后,field改它的最小或最大的变化,那么它的值调整到尽可能接近其期望值。较小的字段表示时间的较小单位。HOUR是比DAY_OF_MONTH更小的领域。不作调整到较小的领域,预计不会不变。日历系统确定哪些字段预计将是不变的。
add 方法重写,继承类
Calendar
field -日历字段。
amount -日期或时间被添加到字段。
IllegalArgumentException -如果
field是
ZONE_OFFSET,
DST_OFFSET,或未知的,或如果任何日历领域有超出范围的值在非宽松的模式。
Calendar.roll(int,int),
Calendar.set(int,int)
public void roll(int field,
boolean up)
例如:考虑一个GregorianCalendar原定于1999年12月31日。打电话roll(Calendar.MONTH, true)集日历1999年1月31日。的YEAR场不变,因为它是一个比MONTH较大的领域。
roll 方法重写,继承类
Calendar
up -表示如果指定日历字段的值被卷起或滚下。如果使用
true卷起,
false否则。
field -时间域。
IllegalArgumentException -如果
field是
ZONE_OFFSET,
DST_OFFSET,或未知的,或如果任何日历领域有超出范围的值在非宽松的模式。
add(int,int),
Calendar.set(int,int)
public void roll(int field,
int amount)
此方法调用Calendar.complete()之前添加量使所有日历字段进行归一化处理。如果有一个范围值在非宽松模式任何日历字段,然后IllegalArgumentException抛出。
例如:考虑一个GregorianCalendar原定于1999年8月31日。打电话roll(Calendar.MONTH, 8)设置日历的4月30日,一千九百九十九。使用GregorianCalendar的DAY_OF_MONTH领域,不能在31月四月。DAY_OF_MONTH设置为最接近的值,30。的YEAR场保持1999的价值,因为它是一个比较大的领域MONTH。
例如:考虑一个GregorianCalendar原定于1999年6月6日星期日。打电话roll(Calendar.WEEK_OF_MONTH, -1)集日历1999年6月1日星期二,而要求的add(Calendar.WEEK_OF_MONTH, -1)集日历1999年5月30日星期日。这是因为辊施加额外的约束:规则的MONTH不能改变时,WEEK_OF_MONTH卷。连同添加规则1,所产生的日期必须在星期二6月1日和星期六6月5日之间。根据规则2的添加,DAY_OF_WEEK,不变改变WEEK_OF_MONTH时,设置为星期二,最可能值到星期日(星期日是一周的第一天)。
roll 方法重写,继承类
Calendar
field -日历字段。
amount的签约金额增加
field。
IllegalArgumentException -如果
field是
ZONE_OFFSET,
DST_OFFSET,或未知的,或如果任何日历领域有超出范围的值在非宽松的模式。
roll(int,boolean),
add(int,int),
Calendar.set(int,int)
public int getMinimum(int field)
GregorianCalendar实例返回给定日历字段的最小值。最小值被定义为最小的方法返回的值
get任何可能的时间价值,考虑的
getFirstDayOfWeek,
getMinimalDaysInFirstWeek电流值,
getGregorianChange和
getTimeZone方法。
getMinimum 方法重写,继承类
Calendar
field -日历字段。
getMaximum(int),
getGreatestMinimum(int),
getLeastMaximum(int),
getActualMinimum(int),
getActualMaximum(int)
public int getMaximum(int field)
GregorianCalendar实例返回给定日历字段的最大值。最大值是指最大值
get方法返回的任何可能的时间价值,考虑的
getFirstDayOfWeek,
getMinimalDaysInFirstWeek电流值,
getGregorianChange和
getTimeZone方法。
getMaximum 方法重写,继承类
Calendar
field -日历字段。
getMinimum(int),
getGreatestMinimum(int),
getLeastMaximum(int),
getActualMinimum(int),
getActualMaximum(int)
public int getGreatestMinimum(int field)
GregorianCalendar实例给定日历领域最高最低值。最高最低值定义为最大值
getActualMinimum(int)返回的任何可能的时间价值,考虑的
getFirstDayOfWeek,
getMinimalDaysInFirstWeek电流值,
getGregorianChange和
getTimeZone方法。
getGreatestMinimum 方法重写,继承类
Calendar
field -日历字段。
getMinimum(int),
getMaximum(int),
getLeastMaximum(int),
getActualMinimum(int),
getActualMaximum(int)
public int getLeastMaximum(int field)
GregorianCalendar实例返回给定日历字段的最大值最低。最低的最大值被定义为最小的值返回
getActualMaximum(int)任何可能的时间价值,考虑的
getFirstDayOfWeek,
getMinimalDaysInFirstWeek电流值,
getGregorianChange和
getTimeZone方法。
getLeastMaximum 方法重写,继承类
Calendar
field -日历字段
getMinimum(int),
getMaximum(int),
getGreatestMinimum(int),
getActualMinimum(int),
getActualMaximum(int)
public int getActualMinimum(int field)
getFirstDayOfWeek,
getMinimalDaysInFirstWeek电流值,
getGregorianChange和
getTimeZone方法。
例如,如果阳历改变日期是1970年1月10日,这GregorianCalendar日期是1970年1月20日,这DAY_OF_MONTH领域实际的最小值是10,1970年1月10日以前的日期是1996年12月27日(朱利安历)。因此,1969年12月28日至1970年1月9日不存在。
getActualMinimum 方法重写,继承类
Calendar
field -日历字段
GregorianCalendar时间价值的特定领域的最低
getMinimum(int),
getMaximum(int),
getGreatestMinimum(int),
getLeastMaximum(int),
getActualMaximum(int)
public int getActualMaximum(int field)
getFirstDayOfWeek,
getMinimalDaysInFirstWeek,
getGregorianChange和
getTimeZone方法。例如,如果该实例的日期是2004年2月1日,
DAY_OF_MONTH领域的实际最大值是29,2004是一个闰年,如果此实例的日期是2005年2月1日,这是28。
该方法基于YEAR计算WEEK_OF_YEAR最大值(日历年)的价值,不week year。电话getWeeksInWeekYear()获得在这GregorianCalendar周年WEEK_OF_YEAR最大值。
getActualMaximum 方法重写,继承类
Calendar
field -日历字段
GregorianCalendar时间价值的特定领域的最大
getMinimum(int),
getMaximum(int),
getGreatestMinimum(int),
getLeastMaximum(int),
getActualMinimum(int)
public TimeZone getTimeZone()
Calendar
getTimeZone 方法重写,继承类
Calendar
public void setTimeZone(TimeZone zone)
Calendar
setTimeZone 方法重写,继承类
Calendar
zone -给定的时间区。
public final boolean isWeekDateSupported()
GregorianCalendar支持周日期
true。
isWeekDateSupported 方法重写,继承类
Calendar
true(总是)
getWeekYear(),
setWeekDate(int,int,int),
getWeeksInWeekYear()
public int getWeekYear()
GregorianCalendar代表
week year。1周的年最大周数之间的周日期同一周年价值可能一年
YEAR之前或之后(日历年)的价值。
此方法调用之前Calendar.complete()计算星期几。
getWeekYear 方法重写,继承类
Calendar
GregorianCalendar代表周年。如果
ERA值
BC,今年是0或负数表示:公元前1年是0,公元前2年-公元前3是1,2,等等。
IllegalArgumentException -如果任何日历字段无效非宽松的模式。
isWeekDateSupported(),
getWeeksInWeekYear(),
Calendar.getFirstDayOfWeek(),
Calendar.getMinimalDaysInFirstWeek()
public void setWeekDate(int weekYear,
int weekOfYear,
int dayOfWeek)
weekYear说明符,
weekOfYear给定日期这
GregorianCalendar,和
dayOfWeek。
weekOfYear如下
WEEK_OF_YEAR numbering,
dayOfWeek值必须是一个对
DAY_OF_WEEK值:
SUNDAY到
SATURDAY。
注意,周表示数字的一天不同于ISO 8601标准,weekOfYear编号与标准兼容的时候getFirstDayOfWeek()是MONDAY和getMinimalDaysInFirstWeek() 4。
不像set方法,所有的日历、时间价值即时计算返回时。
如果weekOfYear出每年的范围有效周的weekYear,weekYear和weekOfYear值以宽松的方式进行调整,或IllegalArgumentException扔在非宽松的模式。
setWeekDate 方法重写,继承类
Calendar
weekYear -周年
weekOfYear基于
weekYear周数
dayOfWeek -星期值日:一为
DAY_OF_WEEK场常数:
SUNDAY,…,
SATURDAY。
IllegalArgumentException -如果任何给定的日期说明是无效的,或如果任何日历字段是给定的日期,说明非宽松模式不一致
isWeekDateSupported(),
Calendar.getFirstDayOfWeek(),
Calendar.getMinimalDaysInFirstWeek()
public int getWeeksInWeekYear()
GregorianCalendar代表
week year数周。
例如,如果这GregorianCalendar的日期是2008年12月31日the ISO 8601 compatible setting,此方法将返回53期:2008年12月29日至2010年1月3日,getActualMaximum(WEEK_OF_YEAR)将返回52期:2007年12月31日至2008年12月28日。
getWeeksInWeekYear 方法重写,继承类
Calendar
Calendar.WEEK_OF_YEAR,
getWeekYear(),
getActualMaximum(int)
protected void computeFields()
complete方法调用。
computeFields 方法重写,继承类
Calendar
Calendar.complete()
protected void computeTime()
computeTime 方法重写,继承类
Calendar
IllegalArgumentException -如果任何日历字段无效。
Calendar.complete(),
Calendar.computeFields()
public ZonedDateTime toZonedDateTime()
ZonedDateTime表示时间轴上的同一点为这
GregorianCalendar。
因为这个对象支持Julian Gregorian cutover的日期和ZonedDateTime不,这是可能的,由此产生的年、月、日都会有不同的价值观。结果将代表在同一日历系统中的正确日期,这也将是修改后的Julian Days的相同的值。
public static GregorianCalendar from(ZonedDateTime zdt)
ZonedDateTime得到对象的默认区域
GregorianCalendar实例。
因为ZonedDateTime不支持朱利安的阳历日期和使用ISO的日历系统割接,返回GregorianCalendar是一个纯粹的阳历和使用ISO 8601标准定义了一周,MONDAY为FirstDayOfWeek和4的MinimalDaysInFirstWeek价值。
ZoneDateTime可以存储点的时间线进一步在未来比过去的GregorianCalendar。在这种情况下,该方法将抛出一个IllegalArgumentException例外。
zdt -划日期时间对象转换
NullPointerException -如果
zdt是空的
IllegalArgumentException如果划日期时间太大,代表一个
GregorianCalendar
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.