|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.util.Calendar java.util.GregorianCalendar
public class GregorianCalendar
GregorianCalendar
是 Calendar
的一個具體子類別,提供了世界上大多數國家/地區使用的標準日曆系統。
GregorianCalendar
是一種混合日曆,在單一間斷性的支持下同時支持儒略歷和格里高里歷系統,在預設情況下,它對應格里高里日曆創立時的格里高里歷日期(某些國家/地區是在 1582 年 10 月 15 日創立,在其他國家/地區要晚一些)。可由調用者通過調用 setGregorianChange()
來更改起始日期。
歷史上,在那些首先採用格里高里歷的國家/地區中,1582 年 10 月 4 日(儒略歷)之後就是 1582 年 10 月 15 日(格里高里歷)。此日曆正確地模擬了這些變化。在開始格里高里歷之前,GregorianCalendar
實作的是儒略歷。格里高里歷和儒略歷之間的唯一區別就是閏年規則。儒略歷指定每 4 年就為閏年,而格里高里歷則忽略不能被 400 整除的世紀年。
GregorianCalendar
可實作預期的 格里高里歷和儒略歷。也就是說,可以通過在時間上無限地向後或向前外推當前規則來計算日期。因此,對於所有的年份,都可以使用 GregorianCalendar
來產生有意義並且一致的結果。但是,採用現代儒略歷規則時,使用 GregorianCalendar
得到的日期只在歷史上從公元 4 年 3 月 1 日之後是準確的。在此日期之前,閏年規則的應用沒有規則性,在 45 BC 之前,甚至不存在儒略歷。
在格里高里歷創立以前,新年是 3 月 25 日。為了避免混淆,此日曆始終使用 1 月 1 日為新年。如果想要格里高里歷轉換之前並且處於 1 月 1 日和 3 月 24 日之間的日期,則可以進行手動調整。
為 WEEK_OF_YEAR
欄位所計算的值的範圍從 1 到 53。一年的第一個星期始於 getFirstDayOfWeek()
的最早 7 天,至少包含該年的 getMinimalDaysInFirstWeek()
各天。這取決於 getMinimalDaysInFirstWeek()
、getFirstDayOfWeek()
的值以及 1 月 1 日是星期幾。一年的第一個星期和下一年的第一個星期之間的各個星期按順序從 2 到 52 或 53(根據需要)進行編號。
例如,1998 年 1 月 1 日是星期四。如果 getFirstDayOfWeek()
為 MONDAY
,並且 getMinimalDaysInFirstWeek()
為 4(這些值反映了 ISO 8601 和很多國家/地區標準),則 1998 年的第一個星期開始於 1997 年 12 月 29 日,結束於 1998 年 1 月 4 日。但是,如果 getFirstDayOfWeek()
為 SUNDAY
,那麼 1998 年的第一個星期開始於 1998 年 1 月 4 日,結束於 1998 年 1 月 10 日;1998 年頭三天是 1997 年第 53 個星期的一部分。
為 WEEK_OF_MONTH
欄位所計算的值的範圍從 0 到 6。一個月的第一個星期(WEEK_OF_MONTH = 1
的日期)是該月至少連續 getMinimalDaysInFirstWeek()
天中的最早日期,結束於 getFirstDayOfWeek()
的前一天。與一年的第一個星期不同,一個月的第一個星期可能短於 7 天,也不必從 getFirstDayOfWeek()
這一天開始,並且不包括前一個月的日期。在第一個星期之前該月日期的 WEEK_OF_MONTH
為 0。
例如,如果 getFirstDayOfWeek()
為 SUNDAY
,getMinimalDaysInFirstWeek()
為 4,那麼 1998 年 1 月的第一個星期是從 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
方法將日曆欄位設置為未定義。GregorianCalendar
為每個日曆欄位使用以下預設值(如果該值未定義)。
欄位 |
預設值 |
---|---|
ERA
|
AD
|
YEAR
|
1970
|
MONTH
|
JANUARY
|
DAY_OF_MONTH
|
1
|
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 savings time pdt.setStartRule(Calendar.APRIL, 1, Calendar.SUNDAY, 2 * 60 * 60 * 1000); pdt.setEndRule(Calendar.0ctober, -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
,
序列化表格欄位摘要 | |
---|---|
static int |
AD
ERA 欄位的值指示公元後(耶穌紀元後)的時期(也稱為 CE)。 |
static int |
BC
ERA 欄位的值指示公元前(Christ 前)的時期(也稱為 BCE)。 |
從類別 java.util.Calendar 繼承的欄位 |
---|
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, MARCH, MAY, MILLISECOND, MINUTE, MONDAY, MONTH, NOVEMBER, OCTOBER, PM, SATURDAY, SECOND, SEPTEMBER, SHORT, SUNDAY, THURSDAY, time, TUESDAY, UNDECIMBER, WEDNESDAY, WEEK_OF_MONTH, WEEK_OF_YEAR, YEAR, ZONE_OFFSET |
建構子摘要 | |
---|---|
GregorianCalendar()
在具有預設語言環境的預設時區內使用當前時間建構一個預設的 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。 |
|
GregorianCalendar(Locale aLocale)
在具有給定語言環境的預設時區內建構一個基於當前時間的 GregorianCalendar 。 |
|
GregorianCalendar(TimeZone zone)
在具有預設語言環境的給定時區內建構一個基於當前時間的 GregorianCalendar 。 |
|
GregorianCalendar(TimeZone zone,
Locale aLocale)
在具有給定語言環境的給定時區內建構一個基於當前時間的 GregorianCalendar 。 |
方法摘要 | |
---|---|
void |
add(int field,
int amount)
根據日曆規則,將指定的(有符號的)時間量添加到給定的日曆欄位中。 |
Object |
clone()
創建並返回此物件的一個副本。 |
protected void |
computeFields()
將時間值(從 Epoch 至現在的毫秒偏移量)轉換為日曆欄位值。 |
protected void |
computeTime()
將日曆欄位值轉換為時間值(從 Epoch 至現在的毫秒偏移量)。 |
boolean |
equals(Object obj)
比較此 GregorianCalendar 與指定的 Object 。 |
int |
getActualMaximum(int field)
考慮到給定的時間值和 getFirstDayOfWeek 、getMinimalDaysInFirstWeek 、getGregorianChange 和 getTimeZone 方法的當前值,返回此日曆欄位可能具有的最大值。 |
int |
getActualMinimum(int field)
考慮到給定的時間值和 getFirstDayOfWeek 、getMinimalDaysInFirstWeek 、getGregorianChange 和 getTimeZone 方法的當前值,返回此日曆欄位可能具有的最小值。 |
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 |
hashCode()
產生此 GregorianCalendar 物件的雜湊碼。 |
boolean |
isLeapYear(int year)
確定給定的年份是否為閏年。 |
void |
roll(int field,
boolean up)
在給定的時間欄位上添加或減去(上/下)單個時間單元,不更改更大的欄位。 |
void |
roll(int field,
int amount)
向指定日曆欄位添加有符號的時間量,不更改更大的欄位。 |
void |
setGregorianChange(Date date)
設置 GregorianCalendar 的更改日期。 |
void |
setTimeZone(TimeZone zone)
使用給定的時區值來設置時區。 |
從類別 java.util.Calendar 繼承的方法 |
---|
after, before, clear, clear, compareTo, complete, get, getAvailableLocales, getDisplayName, getDisplayNames, getFirstDayOfWeek, getInstance, getInstance, getInstance, getInstance, getMinimalDaysInFirstWeek, getTime, getTimeInMillis, internalGet, isLenient, isSet, set, set, set, set, setFirstDayOfWeek, setLenient, setMinimalDaysInFirstWeek, setTime, setTimeInMillis, toString |
從類別 java.lang.Object 繼承的方法 |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
欄位詳細資訊 |
---|
public static final int BC
ERA
欄位的值指示公元前(Christ 前)的時期(也稱為 BCE)。從 BC
到 AD
各年轉換依次是 2 BC、1 BC、1 AD、2 AD……。
Calendar.ERA
,
常數欄位值public static final int AD
ERA
欄位的值指示公元後(耶穌紀元後)的時期(也稱為 CE)。從 BC
到 AD
各年轉換依次是 2 BC、1 BC、1 AD、2 AD……。
Calendar.ERA
,
常數欄位值建構子詳細資訊 |
---|
public GregorianCalendar()
GregorianCalendar
。
public GregorianCalendar(TimeZone zone)
GregorianCalendar
。
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
日曆欄位的值。Month 值是基於 0 的,例如,0 表示 1 月。dayOfMonth
- 用來在日曆中設置 DAY_OF_MONTH
日曆欄位的值。public GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute)
GregorianCalendar
。
year
- 用來在日曆中設置 YEAR
日曆欄位的值。month
- 用來在日曆中設置 MONTH
日曆欄位的值。Month 值是基於 0 的,例如,0 表示 1 月。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
日曆欄位的值。Month 值是基於 0 的,例如,0 表示 1 月。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
。要指定 BC 年份,必須給定 1 - 年份
。例如,指定 -3 為 BC 4 年。
year
- 給定的年份。
true
;否則返回 false
。public boolean equals(Object obj)
GregorianCalendar
與指定的 Object
。當且僅當參數是一個 GregorianCalendar
物件,並且這個物件表示在相同的 Calendar
參數和格里高里歷更改日期下與此物件具有相同的時間值(從 Epoch 至現在的毫秒偏移量)時,結果為 true
。
Calendar
中的 equals
obj
- 要與之比較的物件。
obj
,則返回 true
;否則返回 false
。Calendar.compareTo(Calendar)
public int hashCode()
GregorianCalendar
物件的雜湊碼。
Calendar
中的 hashCode
Object.equals(java.lang.Object)
,
Hashtable
public void add(int field, int amount)
添加規則 1。調用之後的 field
欄位的值減去調用之前的 field
欄位的值等於 amount
,以 field
中發生的任何溢位為模。溢位發生在欄位值超出其範圍時,結果,下一個更大的欄位會遞增或遞減,欄位值被調整回其範圍內。
添加規則 2。如果期望某一個更小的欄位是無變化的,但讓它等於以前的值是不可能的,因為在欄位 field
發生更改之後,它的最大值和最小值也在發生更改,然後它的值被調整為盡量接近於所期望的值。更小的欄位表示一個更小的時間單元。HOUR
是一個比 DAY_OF_MONTH
更小的欄位。對於不期望是無變化欄位的更小欄位,無需進行任何調整。日曆系統確定期望是無變化欄位的那些欄位。
Calendar
中的 add
field
- 日曆欄位。amount
- 為欄位添加的日期或時間量。
IllegalArgumentException
- 如果 field
為 ZONE_OFFSET
、DST_OFFSET
,或未知,或者任何日曆欄位在 non-lenient 網要下具有超出範圍的值。Calendar.roll(int,int)
,
Calendar.set(int,int)
public void roll(int field, boolean up)
範例:考慮原來設置為 1999 年 12 月 31 日的 GregorianCalendar
。現在調用 roll(Calendar.MONTH, true)
將該日曆設置為 1999 年 1 月 31 日。YEAR
欄位未改變,因為它是一個比 MONTH
更大的欄位。
Calendar
中的 roll
up
- 指出指定日曆欄位的值是上升還是下降。如果上升了,則使用 true
;否則使用 false
。field
- 時間欄位。
IllegalArgumentException
- 如果 field
為 ZONE_OFFSET
、DST_OFFSET
,或未知,或者任何日曆欄位在 non-lenient 網要下具有超出範圍的值。add(int,int)
,
Calendar.set(int,int)
public void roll(int field, int amount)
此方法在添加時間量前調用 Calendar.complete()
,使得所有的日曆欄位都標準化。如果任何日曆欄位在 non-lenient 網要下具有超出範圍的值,則拋出 IllegalArgumentException
。
範例:考慮原來設置為 1999 年 8 月 31 日的 GregorianCalendar
。現在調用 roll(Calendar.MONTH, 8)
將該日曆設置為 1999 年 4 月 30 日。如果使用 GregorianCalendar
,則 4 月份的 DAY_OF_MONTH
欄位不可能為 31。將 DAY_OF_MONTH
設置為最可能接近的值 30。YEAR
欄位保持為值 1999,因為它是一個比 MONTH
更大的欄位。
範例:考慮原來設置為 1999 年 6 月 6 日星期日的 GregorianCalendar
。現在調用 roll(Calendar.WEEK_OF_MONTH, -1)
將該日曆設置為 1999 年 6 月 1 日星期二,而調用 add(Calendar.WEEK_OF_MONTH, -1)
則將日曆設置為 1999 年 5 月 30 日星期日。這是因為上升和下降規則施加了其他的約束:WEEK_OF_MONTH
改變時 MONTH
必須不變。根據添加規則 1,所得日期必定在 6 月 1 日星期二和 6 月 5 日星期六之間。根據添加規則 2,DAY_OF_WEEK
(在改變 WEEK_OF_MONTH
時它是一個不變數)被設置為 Tuesday,是最接近 Sunday 的可能值(其中星期日是一個星期的第一天)。
Calendar
中的 roll
field
- 日曆欄位。amount
- 添加到 field
的有符號時間量。
IllegalArgumentException
- 如果 field
為 ZONE_OFFSET
、DST_OFFSET
或未知,或者任何日曆欄位在 non-lenient 網要下具有超出範圍的值。roll(int,boolean)
,
add(int,int)
,
Calendar.set(int,int)
public int getMinimum(int field)
GregorianCalendar
實例的給定日曆欄位的最小值。考慮到 getFirstDayOfWeek
、getMinimalDaysInFirstWeek
、getGregorianChange
和 getTimeZone
方法的當前值,最小值定義為由 get
方法為所有可能的時間值所返回的最小值。
Calendar
中的 getMinimum
field
- 日曆欄位。
getMaximum(int)
,
getGreatestMinimum(int)
,
getLeastMaximum(int)
,
getActualMinimum(int)
,
getActualMaximum(int)
public int getMaximum(int field)
GregorianCalendar
實例的給定日曆欄位的最大值。考慮到 getFirstDayOfWeek
、getMinimalDaysInFirstWeek
、getGregorianChange
和 getTimeZone
方法的當前值,最大值定義為 get
方法為所有可能的時間值所返回的最大值。
Calendar
中的 getMaximum
field
- 日曆欄位。
getMinimum(int)
,
getGreatestMinimum(int)
,
getLeastMaximum(int)
,
getActualMinimum(int)
,
getActualMaximum(int)
public int getGreatestMinimum(int field)
GregorianCalendar
實例給定日曆欄位的最高的最小值。考慮到 getFirstDayOfWeek
、getMinimalDaysInFirstWeek
、getGregorianChange
和 getTimeZone
方法的當前值,最高的最小值定義為 getActualMinimum(int)
為所有可能的時間值所返回的最大值。
Calendar
中的 getGreatestMinimum
field
- 日曆欄位。
getMinimum(int)
,
getMaximum(int)
,
getLeastMaximum(int)
,
getActualMinimum(int)
,
getActualMaximum(int)
public int getLeastMaximum(int field)
GregorianCalendar
實例給定日曆欄位的最低的最大值。考慮到 getFirstDayOfWeek
、getMinimalDaysInFirstWeek
、getGregorianChange
和 getTimeZone
方法的當前值,最低的最大值定義為 getActualMaximum(int)
為所有可能的時間值所返回的最小值。
Calendar
中的 getLeastMaximum
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 日的前一個日期是 1969 年 12 月 27 日。因此,從 1969 年 12 月 28 日到 1970 年 1 月 9 日的日期不存在。
Calendar
中的 getActualMinimum
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。
Calendar
中的 getActualMaximum
field
- 日曆欄位。
GregorianCalendar
時間值的給定欄位最大值。getMinimum(int)
,
getMaximum(int)
,
getGreatestMinimum(int)
,
getLeastMaximum(int)
,
getActualMinimum(int)
public Object clone()
Calendar
複製的描述
Calendar
中的 clone
Cloneable
public TimeZone getTimeZone()
Calendar
複製的描述
Calendar
中的 getTimeZone
public void setTimeZone(TimeZone zone)
Calendar
複製的描述
Calendar
中的 setTimeZone
zone
- 給定的時區。protected void computeFields()
complete
方法。
Calendar
中的 computeFields
Calendar.complete()
protected void computeTime()
Calendar
中的 computeTime
IllegalArgumentException
- 如果存在任何無效的日曆欄位。Calendar.complete()
,
Calendar.computeFields()
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。