|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjava.util.TimeZone
java.util.SimpleTimeZone
public class SimpleTimeZone
SimpleTimeZone 是 TimeZone 的具體子類別,表示一個使用格里高里歷的時區。此類別保持一個相對 GMT 的偏移量,稱為原始偏移量,並保持夏令時安排的開始和結束規則。由於它僅為每一項保持單個值,因此它無法處理相對 GMT 的偏移量以及夏令時安排中的歷史更改,除了 setStartYear 方法可以指定開始實施夏令時安排的年份之外。
要建構一個帶有夏令時安排的 SimpleTimeZone,可以使用一組規則,即開始規則 和結束規則 來描述該安排。夏令時開始或結束的那一天通過 month、day-of-month 和 day-of-week 值聯合指定。month 值由 Calendar 的 MONTH 欄位值表示,如 Calendar.MARCH。day-of-week 值由 Calendar 的 DAY_OF_WEEK 值表示,如 SUNDAY。這些值的組合含意如下。
MARCH,day-of-month 設置為 1,並將 day-of-week 設置為 0。DAY_OF_WEEK 欄位值。例如,要指定 4 月的第二個星期天,可將 month 設置為 APRIL,day-of-month 設置為 8,並將 day-of-week 設置為 -SUNDAY。MARCH,將 day-of-month 設置為 -21,並將 day-of-week 設置為 -WEDNESDAY。DAY_OF_WEEK 值,並將 day-of-month 設置為 -1。例如,要設置 10 月的最後一個星期日,可將 month 設置為 OCTOBER,將 day-of-week 設置為 SUNDAY,並將 day-of-month 設置為 -1。 WALL_TIME、STANDARD_TIME 和 UTC_TIME。例如,如果夏令時在掛鐘時間凌晨 2:00 結束,則可以在 WALL_TIME 網要中用 7200000 毫秒指定該時間。在這種情況下,結束規則 的掛鐘時間與夏令時時間是一樣的。
下面是建構時區物件的一些參數範例。
// Base GMT offset: -8:00
// DST starts: at 2:00am in standard time
// on the first Sunday in April
// DST ends: at 2:00am in daylight time
// on the last Sunday in October
// Save: 1 hour
SimpleTimeZone(-28800000,
"America/Los_Angeles",
Calendar.APRIL, 1, -Calendar.SUNDAY,
7200000,
Calendar.OCTOBER, -1, Calendar.SUNDAY,
7200000,
3600000)
// Base GMT offset: +1:00
// DST starts: at 1:00am in UTC time
// on the last Sunday in March
// DST ends: at 1:00am in UTC time
// on the last Sunday in October
// Save: 1 hour
SimpleTimeZone(3600000,
"Europe/Paris",
Calendar.MARCH, -1, Calendar.SUNDAY,
3600000, SimpleTimeZone.UTC_TIME,
Calendar.OCTOBER, -1, Calendar.SUNDAY,
3600000, SimpleTimeZone.UTC_TIME,
3600000)
這些參數規則也適用於設置規則的方法,如 setStartRule。
Calendar,
GregorianCalendar,
TimeZone,
序列化表格| 欄位摘要 | |
|---|---|
static int |
STANDARD_TIME
指定為標準時間的開始或結束時間網要的常數。 |
static int |
UTC_TIME
指定為 UTC 的開始或結束時間網要的常數。 |
static int |
WALL_TIME
指定為掛鐘時間的開始或結束時間網要的常數。 |
| 從類別 java.util.TimeZone 繼承的欄位 |
|---|
LONG, SHORT |
| 建構子摘要 | |
|---|---|
SimpleTimeZone(int rawOffset,
String ID)
使用給定的相對於 GMT 的基準時區偏移量和不帶夏令時安排的時區 ID 建構一個 SimpleTimeZone。 |
|
SimpleTimeZone(int rawOffset,
String ID,
int startMonth,
int startDay,
int startDayOfWeek,
int startTime,
int endMonth,
int endDay,
int endDayOfWeek,
int endTime)
根據給定的相對於 GMT 的基準時區偏移量、時區 ID 和夏令時開始和結束的規則來建構一個 SimpleTimeZone。 |
|
SimpleTimeZone(int rawOffset,
String ID,
int startMonth,
int startDay,
int startDayOfWeek,
int startTime,
int endMonth,
int endDay,
int endDayOfWeek,
int endTime,
int dstSavings)
根據給定的相對於 GMT 的基準時區偏移量、時區 ID 和夏令時開始和結束的規則來建構一個 SimpleTimeZone。 |
|
SimpleTimeZone(int rawOffset,
String ID,
int startMonth,
int startDay,
int startDayOfWeek,
int startTime,
int startTimeMode,
int endMonth,
int endDay,
int endDayOfWeek,
int endTime,
int endTimeMode,
int dstSavings)
根據給定的相對於 GMT 的基準時區偏移量、時區 ID 和夏令時開始和結束的規則來建構一個 SimpleTimeZone。 |
|
| 方法摘要 | |
|---|---|
Object |
clone()
返回此 SimpleTimeZone 實例的一個副本。 |
boolean |
equals(Object obj)
比較兩個 SimpleTimeZone 物件的相等性。 |
int |
getDSTSavings()
返回設置在夏令時期間時鐘提前的時間量(以毫秒為單位)。 |
int |
getOffset(int era,
int year,
int month,
int day,
int dayOfWeek,
int millis)
返回以毫秒為單位的本地時間與 UTC 之間的差別,對於指定日期和時間,把原始偏移量和夏令時的效果同時考慮在內。 |
int |
getOffset(long date)
從給定時間的 UTC 返回此時區的偏移量。 |
int |
getRawOffset()
獲取此時區的 GMT 偏移量。 |
int |
hashCode()
產生 SimpleDateFormat 物件的雜湊碼。 |
boolean |
hasSameRules(TimeZone other)
如果此時區與另一時區具有相同的規則和偏移量,則返回 true。 |
boolean |
inDaylightTime(Date date)
如果給定日期在夏令時期間,則執行查詢。 |
void |
setDSTSavings(int millisSavedDuringDST)
設置在夏令時期間時鐘提前的時間量(以毫秒為單位)。 |
void |
setEndRule(int endMonth,
int endDay,
int endTime)
將夏令時結束規則設置為某個月份的固定日期。 |
void |
setEndRule(int endMonth,
int endDay,
int endDayOfWeek,
int endTime)
設置夏令時結束規則。 |
void |
setEndRule(int endMonth,
int endDay,
int endDayOfWeek,
int endTime,
boolean after)
將夏令時結束規則設置為某個月份給定日期之前或之後的星期幾,例如,8 號或之後的第一個星期一。 |
void |
setRawOffset(int offsetMillis)
把基準時區偏移量設置到 GMT。 |
void |
setStartRule(int startMonth,
int startDay,
int startTime)
將夏令時開始規則設置為某個月份的固定日期。 |
void |
setStartRule(int startMonth,
int startDay,
int startDayOfWeek,
int startTime)
設置夏令時的開始規則。 |
void |
setStartRule(int startMonth,
int startDay,
int startDayOfWeek,
int startTime,
boolean after)
將夏令時開始規則設置為某個月份給定日期之前或之後的星期幾,例如,8 號或之後的第一個星期一。 |
void |
setStartYear(int year)
設置夏令時的開始年份。 |
String |
toString()
返回此時區的字元串表示形式。 |
boolean |
useDaylightTime()
如果此時區使用夏令時,則執行查詢。 |
| 從類別 java.util.TimeZone 繼承的方法 |
|---|
getAvailableIDs, getAvailableIDs, getDefault, getDisplayName, getDisplayName, getDisplayName, getDisplayName, getID, getTimeZone, setDefault, setID |
| 從類別 java.lang.Object 繼承的方法 |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| 欄位詳細資訊 |
|---|
public static final int WALL_TIME
public static final int STANDARD_TIME
public static final int UTC_TIME
| 建構子詳細資訊 |
|---|
public SimpleTimeZone(int rawOffset,
String ID)
rawOffset - 相對於 GMT 的基準時區偏移量(以毫秒為單位)。ID - 此實例給定的時區名稱。
public SimpleTimeZone(int rawOffset,
String ID,
int startMonth,
int startDay,
int startDayOfWeek,
int startTime,
int endMonth,
int endDay,
int endDayOfWeek,
int endTime)
startTime 和 endTime 都要以掛鐘時間表示。夏令時節約的時間量假定為 3600000 毫秒(也就是 1 小時)。此建構子等效於:
SimpleTimeZone(rawOffset,
ID,
startMonth,
startDay,
startDayOfWeek,
startTime,
SimpleTimeZone.WALL_TIME,
endMonth,
endDay,
endDayOfWeek,
endTime,
SimpleTimeZone.WALL_TIME,
3600000)
rawOffset - GMT 的給定基準時區偏移量。ID - 此物件給定的時區 ID。startMonth - 夏令時開始的月份。月份是一個 MONTH 欄位值(基於 0。例如,0 代表 1 月)。startDay - 夏令時開始的日期。有關此參數的特殊情形,請參閱類別的描述。startDayOfWeek - 夏令時開始時是一周的星期幾。有關此參數的特殊情形,請參閱類別的描述。startTime - 以本地掛鐘時間表示的夏令時開始時間(此天中的毫秒數),在此情況下為本地標準時間。endMonth - 夏令時結束的月份。月份是一個 MONTH 欄位值(基於 0。例如,9 代表 10 月)。endDay - 夏令時結束的日期。有關此參數的特殊情形,請參閱類別的描述。endDayOfWeek - 夏令時結束時是一周的星期幾。有關此參數的特殊情形,請參閱類別的描述。endTime - 以本地掛鐘時間表示的夏令時結束時間(此天中的毫秒數),在此情況下為本地標準時間。
IllegalArgumentException - 如果月份、日期、星期或時間參數超出開始或結束規則的範圍。
public SimpleTimeZone(int rawOffset,
String ID,
int startMonth,
int startDay,
int startDayOfWeek,
int startTime,
int endMonth,
int endDay,
int endDayOfWeek,
int endTime,
int dstSavings)
startTime 和 endTime 都要以掛鐘時間表示。此建構子等效於:
SimpleTimeZone(rawOffset,
ID,
startMonth,
startDay,
startDayOfWeek,
startTime,
SimpleTimeZone.WALL_TIME,
endMonth,
endDay,
endDayOfWeek,
endTime,
SimpleTimeZone.WALL_TIME,
dstSavings)
rawOffset - GMT 的給定基準時區偏移量。ID - 此物件給定的時區 ID。startMonth - 夏令時開始的月份。月份是一個 MONTH 欄位值(基於 0。例如,0 代表 1 月)。startDay - 夏令時開始的日期。有關此參數的特殊情形,請參閱類別的描述。startDayOfWeek - 夏令時開始時是一周的星期幾。有關此參數的特殊情形,請參閱類別的描述。startTime - 以本地掛鐘時間表示的夏令時開始時間,在此情況下為本地標準時間。endMonth - 夏令時結束的月份。月份是一個 MONTH 欄位值(基於 0。例如,9 代表 10 月)。endDay - 夏令時結束的日期。有關此參數的特殊情形,請參閱類別的描述。endDayOfWeek - 夏令時結束時是一周的星期幾。有關此參數的特殊情形,請參閱類別的描述。startTime - 以本地掛鐘時間表示的夏令時結束時間,在此情況下為本地標準時間。dstSavings - 在夏令時期間節省的時間量(以毫秒為單位)。
IllegalArgumentException - 如果月份、日期、星期或時間參數超出開始或結束規則的範圍。
public SimpleTimeZone(int rawOffset,
String ID,
int startMonth,
int startDay,
int startDayOfWeek,
int startTime,
int startTimeMode,
int endMonth,
int endDay,
int endDayOfWeek,
int endTime,
int endTimeMode,
int dstSavings)
startTime 和 endTime 網要。此網要指定掛鐘時間或標準時間或 UTC 時間。
rawOffset - GMT 的給定基準時區偏移量。ID - 此物件給定的時區 ID。startMonth - 夏令時開始的月份。月份是一個 MONTH 欄位值(基於 0。例如,0 代表 1 月)。startDay - 夏令時開始的日期。有關此參數的特殊情形,請參閱類別的描述。startDayOfWeek - 夏令時開始時是一周的星期幾。有關此參數的特殊情形,請參閱類別的描述。startTime - 由 startTimeMode 指定的時間網要的夏令時開始時間。startTimeMode - 由 startTime 指定的開始時間網要。endMonth - 夏令時結束的月份。月份是一個 MONTH 欄位值(基於 0。例如,9 代表 10 月)。endDay - 夏令時結束的日期。有關此參數的特殊情形,請參閱類別的描述。endDayOfWeek - 夏令時結束時是一周的星期幾。有關此參數的特殊情形,請參閱類別的描述。endTime - 由 endTimeMode 指定的時間網要的夏令時結束時間。endTimeMode - 由 endTime 指定的結束時間的網要。dstSavings - 在夏令時期間節省的時間量(以毫秒為單位)。
IllegalArgumentException - 如果月份、日期、星期或時間參數超出開始或結束規則的範圍,或者某個時間網要值無效。WALL_TIME,
STANDARD_TIME,
UTC_TIME| 方法詳細資訊 |
|---|
public void setStartYear(int year)
year - 夏令時的開始年份。
public void setStartRule(int startMonth,
int startDay,
int startDayOfWeek,
int startTime)
setStartRule(Calendar.APRIL, 1, Calendar.SUNDAY, 2*60*60*1000);
startMonth - 夏令時開始的月份。月份是一個 MONTH 欄位值(基於 0。例如,0 代表 1 月)。startDay - 夏令時開始的日期。有關此參數的特殊情形,請參閱類別的描述。startDayOfWeek - 夏令時開始時是一周的星期幾。有關此參數的特殊情形,請參閱類別的描述。startTime - 以本地掛鐘時間表示的夏令時開始時間,在此情況下為本地標準時間。
IllegalArgumentException - 如果 startMonth、startDay、startDayOfWeek 或 startTime 參數超出範圍。
public void setStartRule(int startMonth,
int startDay,
int startTime)
setStartRule(startMonth, startDay, 0, startTime)
startMonth - 夏令時開始的月份。月份是一個 MONTH 欄位值(基於 0。例如,0 代表 1 月)。startDay - 夏令時開始的日期。startTime - 以本地掛鐘時間表示的夏令時開始時間,在此情況下為本地標準時間。有關此參數的特殊情形,請參閱類別的描述。
IllegalArgumentException - 如果 startMonth、startDayOfMonth 或 startTime 參數超出範圍。
public void setStartRule(int startMonth,
int startDay,
int startDayOfWeek,
int startTime,
boolean after)
startMonth - 夏令時開始的月份。月份是一個 MONTH 欄位值(基於 0。例如,0 代表 1 月)。startDay - 夏令時開始的日期。startDayOfWeek - 夏令時開始時是一周的星期幾。startTime - 以本地掛鐘時間表示的夏令時開始時間,在此情況下為本地標準時間。after - 如果為 true,則此規則將選擇 dayOfMonth 或它之後 的第一個 dayOfWeek。如果為 false,則此規則將選擇 dayOfMonth 或它之前 的最後一個 dayOfWeek。
IllegalArgumentException - 如果 startMonth、startDay、startDayOfWeek 或 startTime 參數超出範圍。
public void setEndRule(int endMonth,
int endDay,
int endDayOfWeek,
int endTime)
setEndRule(Calendar.OCTOBER, -1, Calendar.SUNDAY, 2*60*60*1000);
endMonth - 夏令時結束的月份。月份是一個 MONTH 欄位值(基於 0。例如,9 代表 10 月)。endDay - 夏令時結束的日期。有關此參數的特殊情形,請參閱類別的描述。endDayOfWeek - 夏令時結束時是一周的星期幾。有關此參數的特殊情形,請參閱類別的描述。endTime - 以本地掛鐘時間表示的夏令時結束時間(此天中的毫秒數),在此情況下為本地標準時間。
IllegalArgumentException - 如果 endMonth、endDay、endDayOfWeek 或 endTime 參數超出範圍。
public void setEndRule(int endMonth,
int endDay,
int endTime)
setEndRule(endMonth, endDay, 0, endTime)
endMonth - 夏令時結束的月份。月份是一個 MONTH 欄位值(基於 0。例如,9 代表 10 月)。endDay - 夏令時結束的日期。endTime - 以本地掛鐘時間表示的夏令時結束時間(此天中的毫秒數),在此情況下為本地標準時間。
IllegalArgumentException - 如果 endMonth、endDay 或 endTime 參數超出範圍。
public void setEndRule(int endMonth,
int endDay,
int endDayOfWeek,
int endTime,
boolean after)
endMonth - 夏令時結束的月份。月份是一個 MONTH 欄位值(基於 0。例如,9 代表 10 月)。endDay - 夏令時結束的日期。endDayOfWeek - 夏令時結束時是一周的星期幾。endTime - 以本地掛鐘時間表示的夏令時結束時間(此天中的毫秒數),在此情況下為本地標準時間。after - 如果為 true,則此規則將選擇 endDay 或它之後 的第一個 endDayOfWeek。如果為 false,則此規則將選擇該月份的 endDay 或它之前的最後一個 endDayOfWeek。
IllegalArgumentException - 如果 endMonth、endDay、endDayOfWeek 或 endTime 參數超出範圍。public int getOffset(long date)
TimeZone 中的 getOffsetdate - 出現時區偏移量的時間。
Calendar.ZONE_OFFSET,
Calendar.DST_OFFSET
public int getOffset(int era,
int year,
int month,
int day,
int dayOfWeek,
int millis)
GregorianCalendar 物件作為其基礎日曆,例如用於確定閏年。除預設的 GregorianCalendar 之外,請不要將此方法的結果與其他日曆一起使用。
註:一般情況下,客戶應使用 Calendar.get(ZONE_OFFSET) + Calendar.get(DST_OFFSET) 而不調用此方法。
TimeZone 中的 getOffsetera - 給定日期的年代。year - 給定日期的年份。month - 給定日期的月份。月份是從 0 開始的,比如 0 代表 1 月。day - 給定日期的月份中的某一天。dayOfWeek - 給定日期的一周中的某一天。millis - 標準 本地時間中天的毫秒數。
IllegalArgumentException - 如果 era、month、day、dayOfWeek 或 millis 參數超出範圍。Calendar.ZONE_OFFSET,
Calendar.DST_OFFSETpublic int getRawOffset()
TimeZone 中的 getRawOffsetsetRawOffset(int)public void setRawOffset(int offsetMillis)
TimeZone 中的 setRawOffsetoffsetMillis - GMT 的給定基準時區偏移量。getRawOffset()public void setDSTSavings(int millisSavedDuringDST)
millisSavedDuringDST - 在夏令時規則生效時,相對於標準時間提前的毫秒數。一個正數,一般為 1 小時 (3600000)。getDSTSavings()public int getDSTSavings()
TimeZone 中的 getDSTSavingssetDSTSavings(int)public boolean useDaylightTime()
TimeZone 中的 useDaylightTimepublic boolean inDaylightTime(Date date)
TimeZone 中的 inDaylightTimedate - 給定的日期。
public Object clone()
SimpleTimeZone 實例的一個副本。
TimeZone 中的 cloneCloneablepublic int hashCode()
Object 中的 hashCodeObject.equals(java.lang.Object),
Hashtablepublic boolean equals(Object obj)
SimpleTimeZone 物件的相等性。
Object 中的 equalsobj - 要與之比較的 SimpleTimeZone 物件。
obj 與此 SimpleTimeZone 物件相同,則返回 true;否則返回 false。Object.hashCode(),
Hashtablepublic boolean hasSameRules(TimeZone other)
true。
TimeZone 中的 hasSameRulesother - 要與之比較的 TimeZone 物件。
true。public String toString()
Object 中的 toString
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。