|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.util.TimeZone
public abstract class TimeZone
TimeZone
表示時區偏移量,也可以計算夏令時。
通常,使用 getDefault
獲取 TimeZone
,getDefault
基於程序運行所在的時區創建 TimeZone
。例如,對於在日本運行的程序,getDefault
基於日本標準時間創建 TimeZone
物件。
也可以用 getTimeZone
及時區 ID 獲取 TimeZone
。例如美國太平洋時區的時區 ID 是 "America/Los_Angeles"。因此,可以使用下面語句獲得美國太平洋時間 TimeZone
物件:
可以使用TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
getAvailableIDs
方法來對所有受支持的時區 ID 進行迭代。可以選擇受支持的 ID 來獲得 TimeZone
。如果想要的時區無法用受支持的 ID 之一表示,那麼可以指定自定義時區 ID 來產生 TimeZone。自定義時區 ID 的語法是:
Hours 必須在 0 至 23 之間,Minutes 必須在 00 至 59 之間。例如,"GMT+10" 和 "GMT+0010" 分別意味著比 GMT 提前 10 小時和 10 分鐘。CustomID:GMT
Sign Hours:
MinutesGMT
Sign Hours MinutesGMT
Sign Hours Sign: 下面之一+ -
Hours: Digit Digit Digit Minutes: Digit Digit Digit: 下面之一0 1 2 3 4 5 6 7 8 9
格式是與區域無關的,並且數字必須取自 Unicode 標準的 Basic Latin 塊。沒有夏令時轉換安排可以用自定義時區 ID 指定。如果指定的字元串與語法不比對,就使用 "GMT"
。
當創建一個 TimeZone
時,指定的自定義時區 ID 採用下面的語法進行標準化:
例如,TimeZone.getTimeZone("GMT-8").getID() 返回 "GMT-08:00"。NormalizedCustomID:GMT
Sign TwoDigitHours:
Minutes Sign: 下面之一+ -
TwoDigitHours: Digit Digit Minutes: Digit Digit Digit: 下面之一0 1 2 3 4 5 6 7 8 9
Calendar
,
GregorianCalendar
,
SimpleTimeZone
,
序列化表格欄位摘要 | |
---|---|
static int |
LONG
指出長名稱的 getDisplayName() 的樣式說明符。 |
static int |
SHORT
指出短名稱(比如 "PST")的 getDisplayName() 的樣式說明符。 |
建構子摘要 | |
---|---|
TimeZone()
單獨的建構子。 |
方法摘要 | |
---|---|
Object |
clone()
創建此 TimeZone 的一個副本。 |
static String[] |
getAvailableIDs()
獲取受支持的所有可用 ID。 |
static String[] |
getAvailableIDs(int rawOffset)
根據給定的時區偏移量(以毫秒為單位)獲取可用的 ID。 |
static TimeZone |
getDefault()
獲取此主機的預設 TimeZone 。 |
String |
getDisplayName()
返回適合於展示給預設區域的使用者的時區名稱。 |
String |
getDisplayName(boolean daylight,
int style)
返回適合於展示給預設區域的使用者的時區名稱。 |
String |
getDisplayName(boolean daylight,
int style,
Locale locale)
返回適合於展示給指定區域的使用者的時區名稱。 |
String |
getDisplayName(Locale locale)
返回適合於展示給指定區域的使用者的時區名稱。 |
int |
getDSTSavings()
返回要添加到本地標準時間以獲取本地掛鐘時間的時間量。 |
String |
getID()
獲取此時區的 ID。 |
abstract int |
getOffset(int era,
int year,
int month,
int day,
int dayOfWeek,
int milliseconds)
獲取當前日期的時區偏移量(在夏令時情況下進行修改)。 |
int |
getOffset(long date)
從給定日期的 UTC 返回此時區的偏移量。 |
abstract int |
getRawOffset()
返回添加到 UTC 以獲取此時區中的標準時間的時間量(以毫秒為單位)。 |
static TimeZone |
getTimeZone(String ID)
獲取給定 ID 的 TimeZone 。 |
boolean |
hasSameRules(TimeZone other)
如果此區域和另一個區域具有相同的規則和偏移量,也就是說,如果此區域只可能在 ID 上與另一個區域不同,則返回 true。 |
abstract boolean |
inDaylightTime(Date date)
查詢給定的日期是否在此時區的夏令時中。 |
static void |
setDefault(TimeZone zone)
設置由 getDefault 方法返回的 TimeZone 。 |
void |
setID(String ID)
設置時區 ID。 |
abstract void |
setRawOffset(int offsetMillis)
把基準時區偏移量設置到 GMT。 |
abstract boolean |
useDaylightTime()
查詢此時區是否使用夏令時。 |
從類別 java.lang.Object 繼承的方法 |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
欄位詳細資訊 |
---|
public static final int SHORT
getDisplayName()
的樣式說明符。
LONG
,
常數欄位值public static final int LONG
getDisplayName()
的樣式說明符。
SHORT
,
常數欄位值建構子詳細資訊 |
---|
public TimeZone()
方法詳細資訊 |
---|
public abstract int getOffset(int era, int year, int month, int day, int dayOfWeek, int milliseconds)
如果底層 TimeZone
實作子類別支持歷史夏令時安排和 GMT 偏移量改變,那麼此方法就返回歷史上正確的偏移量。
era
- 給定日期的年代。year
- 給定日期的年份。month
- 給定日期的月份。月份是從 0 開始的,比如 0 代表一月。day
- 給定日期的月份中的某一天。dayOfWeek
- 給定日期的一周中的某一天。milliseconds
- 標準 本地時間中天的毫秒數。
Calendar.ZONE_OFFSET
,
Calendar.DST_OFFSET
public int getOffset(long date)
如果底層 TimeZone 實作子類別支持歷史夏令時安排和 GMT 偏移量改變,那麼此方法就返回歷史上正確的偏移值。
date
- 自 1970 年 1 月 1 日 00:00:00 GMT 以來以毫秒表示的日期
Calendar.ZONE_OFFSET
,
Calendar.DST_OFFSET
public abstract void setRawOffset(int offsetMillis)
如果底層 TimeZone
實作子類別支持歷史 GMT 偏移量更改,那麼指定的 GMT 偏移量被設置為最後的 GMT 偏移量,並通過與已知的最近 GMT 偏移值的差別對所有歷史 GMT 偏移值進行調整。
offsetMillis
- GMT 的給定基準時區偏移量。public abstract int getRawOffset()
如果底層 TimeZone
實作子類別支持歷史 GMT 的偏移量變化,那麼此方法返回當前日期的原始偏移量值。例如,在火奴魯魯(美國夏威夷州的首府和港市),它的原始偏移量在 1947 年從 GMT-10:30 改變到 GMT-10:00,並且此方法始終返回 -36000000 毫秒(即 -10 小時)。
Calendar.ZONE_OFFSET
public String getID()
public void setID(String ID)
ID
- 新的時區 ID。public final String getDisplayName()
public final String getDisplayName(Locale locale)
locale
- 要提供顯示名稱的區域。
public final String getDisplayName(boolean daylight, int style)
daylight
- 如果為 true,則返回夏令時名稱。style
- LONG
或 SHORT
public String getDisplayName(boolean daylight, int style, Locale locale)
daylight
- 如果為 true,返回夏令時名稱。style
- LONG
或 SHORT
locale
- 要提供顯示名稱的區域。
IllegalArgumentException
- 樣式是無效的。public int getDSTSavings()
如果此時區遵守夏令時規則,則預設的實作始終返回 3600000 毫秒(即 1 小時)。否則,返回 0(零)。
如果底層 TimeZone 實作子類別支持歷史夏令時變化,則此方法返回已知的最新夏令時值。
public abstract boolean useDaylightTime()
如果底層 TimeZone
實作子類別支持歷史夏令時安排變化,那麼方法參考最新的夏令時安排資訊。
public abstract boolean inDaylightTime(Date date)
date
- 給定的日期。
public static TimeZone getTimeZone(String ID)
TimeZone
。
ID
- TimeZone
的 ID,要麼是縮寫(如 "PST" ),要麼是全名(如 "America/Los_Angeles"),要麼是自定義 ID(如 "GMT-8:00")。注意,對縮寫的支持只是出於 JDK 1.1.x 相容性的考慮,因此應該使用全名。
TimeZone
,如果給定的 ID 無法理解,則返回 GMT 區域。public static String[] getAvailableIDs(int rawOffset)
rawOffset
- 給定的時區 GMT 偏移量(以毫秒為單位)。
public static String[] getAvailableIDs()
public static TimeZone getDefault()
TimeZone
。預設 TimeZone
的來源可能隨實作的變化而變化。
TimeZone
。setDefault(java.util.TimeZone)
public static void setDefault(TimeZone zone)
getDefault
方法返回的 TimeZone
。如果 zone
為 null,把預設值重設為第一次啟動虛擬機器時的最初值。
zone
- 新的預設時區getDefault()
public boolean hasSameRules(TimeZone other)
other
- 要進行比較的 TimeZone
物件
public Object clone()
TimeZone
的一個副本。
Object
中的 clone
TimeZone
的一個副本Cloneable
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。