|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.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
中的 getOffset
date
- 出現時區偏移量的時間。
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
中的 getOffset
era
- 給定日期的年代。year
- 給定日期的年份。month
- 給定日期的月份。月份是從 0 開始的,比如 0 代表 1 月。day
- 給定日期的月份中的某一天。dayOfWeek
- 給定日期的一周中的某一天。millis
- 標準 本地時間中天的毫秒數。
IllegalArgumentException
- 如果 era
、month
、day
、dayOfWeek
或 millis
參數超出範圍。Calendar.ZONE_OFFSET
,
Calendar.DST_OFFSET
public int getRawOffset()
TimeZone
中的 getRawOffset
setRawOffset(int)
public void setRawOffset(int offsetMillis)
TimeZone
中的 setRawOffset
offsetMillis
- GMT 的給定基準時區偏移量。getRawOffset()
public void setDSTSavings(int millisSavedDuringDST)
millisSavedDuringDST
- 在夏令時規則生效時,相對於標準時間提前的毫秒數。一個正數,一般為 1 小時 (3600000)。getDSTSavings()
public int getDSTSavings()
TimeZone
中的 getDSTSavings
setDSTSavings(int)
public boolean useDaylightTime()
TimeZone
中的 useDaylightTime
public boolean inDaylightTime(Date date)
TimeZone
中的 inDaylightTime
date
- 給定的日期。
public Object clone()
SimpleTimeZone
實例的一個副本。
TimeZone
中的 clone
Cloneable
public int hashCode()
Object
中的 hashCode
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
SimpleTimeZone
物件的相等性。
Object
中的 equals
obj
- 要與之比較的 SimpleTimeZone
物件。
obj
與此 SimpleTimeZone
物件相同,則返回 true;否則返回 false。Object.hashCode()
,
Hashtable
public boolean hasSameRules(TimeZone other)
true
。
TimeZone
中的 hasSameRules
other
- 要與之比較的 TimeZone 物件。
true
。public String toString()
Object
中的 toString
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。