新聞中心
TimeZone

成都創(chuàng)新互聯于2013年成立,是專業(yè)互聯網技術服務公司,擁有項目成都網站制作、網站設計網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元攀枝花做網站,已為上家服務,為攀枝花各地企業(yè)和個人服務,聯系電話:028-86922220
java.lang.Object
|---java.util.TimeZone
public abstract class TimeZone
extends Object
implements Serializable, CloneableTimeZone 表示時區(qū)偏移量,也計算夏令時。
通常,您使用 getDefault 獲得一個 TimeZone,它根據程序運行的時區(qū)創(chuàng)建一個 TimeZone。 例如,對于在日本運行的程序,getDefault 根據日本標準時間創(chuàng)建一個 TimeZone 對象。
您還可以使用 getTimeZone 和時區(qū) ID 獲取 TimeZone。 例如,美國太平洋時區(qū)的時區(qū) ID 是“America/Los_Angeles”。 因此,您可以通過以下方式獲取美國太平洋時間 TimeZone 對象:
TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles"); 您可以使用 getAvailableIDs 方法遍歷所有受支持的時區(qū) ID。 然后,您可以選擇支持的 ID 來獲取 TimeZone。 如果您想要的時區(qū)不是由受支持的 ID 之一表示,則可以指定自定義時區(qū) ID 以生成 TimeZone。 自定義時區(qū) ID 的語法是:
CustomID:
GMT Sign Hours : Minutes
GMT Sign Hours Minutes
GMT Sign Hours
Sign: one of
+ -
Hours:
Digit
Digit Digit
Minutes:
Digit Digit
Digit: one of
0 1 2 3 4 5 6 7 8 9小時必須介于 0 到 23 之間,分鐘必須介于 00 到 59 之間。例如,“GMT+10”和“GMT+0010”分別表示比 GMT 提前十小時和十分鐘。
格式與區(qū)域無關,數字必須取自 Unicode 標準的基本拉丁語塊。 不能使用自定義時區(qū) ID 指定夏令時轉換計劃。 如果指定的字符串與語法不匹配,則使用“GMT”。
創(chuàng)建 TimeZone 時,指定的自定義時區(qū) ID 以以下語法規(guī)范化:
NormalizedCustomID:
GMT Sign TwoDigitHours : Minutes
Sign: one of
+ -
TwoDigitHours:
Digit Digit
Minutes:
Digit Digit
Digit: one of
0 1 2 3 4 5 6 7 8 9例如,TimeZone.getTimeZone("GMT-8").getID() 返回“GMT-08:00”。 三字母時區(qū) ID 為了與 JDK 1.1.x 兼容,還支持其他一些三字母時區(qū) ID(例如“PST”、“CTT”、“AST”)。 但是,不推薦使用它們,因為相同的縮寫通常用于多個時區(qū)(例如,“CST”可能是美國“中部標準時間”和“中國標準時間”),Java 平臺只能識別其中之一 他們。
字段摘要
| 修飾符和類型 | 字段 | 描述 |
|---|---|---|
| static int | LONG | getDisplayName() 的樣式說明符,指示長名稱,例如“太平洋標準時間”。 |
| static int | SHORT | getDisplayName() 的樣式說明符,指示短名稱,例如“PST”。 |
構造函數摘要
| 構造函數 | 描述 |
|---|---|
| TimeZone() | 唯一的構造函數 |
方法總結
| 修飾符和類型 | 方法 | 描述 |
|---|---|---|
| Object | clone() | 創(chuàng)建此 TimeZone 的副本。 |
| static String[] | getAvailableIDs() | 獲取支持的所有可用 ID。 |
| static String[] | getAvailableIDs(int rawOffset) | 根據給定的時區(qū)偏移量獲取可用的 ID,以毫秒為單位。 |
| static TimeZone | getDefault() | 獲取 Java 虛擬機的默認時區(qū)。 |
| String | getDisplayName() | 返回此 TimeZone 的長標準時間名稱,適合在默認語言環(huán)境中呈現給用戶。 |
| String | getDisplayName(boolean daylight, int style) | 返回此 TimeZone 的指定樣式的名稱,該名稱適合在默認語言環(huán)境中呈現給用戶。 |
| String | getDisplayName(boolean daylight, int style, Locale locale) | 返回此 TimeZone 的指定樣式的名稱,該名稱適合在指定區(qū)域設置中呈現給用戶。 |
| String | getDisplayName(Locale locale) | 返回此 TimeZone 的長標準時間名稱,適合在指定區(qū)域設置中呈現給用戶。 |
| int | getDSTSavings() | 返回要添加到本地標準時間以獲取本地掛鐘時間的時間量。 |
| String | getID() | 獲取該時區(qū)的 ID。 |
| abstract int | getOffset(int era, int year, int month, int day, int dayOfWeek, int milliseconds) | 獲取當前日期的時區(qū)偏移量,在夏令時的情況下進行修改。 |
| int | getOffset(long date) | 返回此時區(qū)在指定日期與 UTC 的偏移量。 |
| abstract int | getRawOffset() | 返回添加到 UTC 以獲取此時區(qū)的標準時間的時間量(以毫秒為單位)。 |
| static TimeZone | getTimeZone(String ID) | 獲取給定 ID 的時區(qū)。 |
| static TimeZone | getTimeZone(ZoneId zoneId) | 獲取給定 zoneId 的 TimeZone。 |
| boolean | hasSameRules(TimeZone other) | 如果此區(qū)域與另一個區(qū)域具有相同的規(guī)則和偏移量,則返回 true。 |
| abstract boolean | inDaylightTime(Date date) | 查詢給定日期是否在該時區(qū)的夏令時。 |
| boolean | observesDaylightTime() | 如果此 TimeZone 當前處于夏令時,或者如果在將來的任何時間發(fā)生從標準時間到夏令時的轉換,則返回 true。 |
| static void | setDefault(TimeZone zone) | 設置由 getDefault 方法返回的 TimeZone。 |
| void | setID(String ID) | 設置時區(qū) ID。 |
| abstract void | setRawOffset(int offsetMillis) | 將基準時區(qū)偏移設置為 GMT。 |
| ZoneId | toZoneId() | 將此 TimeZone 對象轉換為 ZoneId。 |
| abstract boolean | useDaylightTime() | 查詢此 TimeZone 是否使用夏令時。 |
| 從類 java.lang.Object 繼承的方法 |
|---|
| equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段詳細信息
LONG
public static final int LONG
getDisplayName() 的樣式說明符,指示長名稱,例如“太平洋標準時間”。
SHORT
public static final int SHORT
getDisplayName() 的樣式說明符,指示短名稱,例如“PST”。
構造函數詳細信息
TimeZone
public TimeZone()
唯一的構造函數。 (用于子類構造函數的調用,通常是隱式的。)
方法詳情
getOffset
public abstract int getOffset(int era, int year, int month, int day, int dayOfWeek, int milliseconds)
獲取當前日期的時區(qū)偏移量,在夏令時的情況下進行修改。 這是添加到 UTC 以獲取本地時間的偏移量。
如果基礎 TimeZone 實現子類支持歷史夏令時時間表和 GMT 偏移更改,則此方法返回歷史正確偏移。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| era | 給定日期的時代。 |
| year | 給定日期的年份。 |
| month | 給定日期的月份。 月份是從 0 開始的。 例如,0 表示一月。 |
| day | 給定日期的月份中的某一天。 |
| dayOfWeek | 給定日期的星期幾。 |
| milliseconds | 標準本地時間的毫秒數。 |
返回:
添加到 GMT 以獲取本地時間的偏移量(以毫秒為單位)。
getOffset
public int getOffset(long date)
返回此時區(qū)在指定日期與 UTC 的偏移量。 如果夏令時在指定日期生效,則偏移值會根據夏令時進行調整。
如果基礎 TimeZone 實現子類支持歷史夏令時時間表和 GMT 偏移更改,則此方法返回歷史正確偏移值。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| date | 自 1970 年 1 月 1 日 00:00:00 GMT 以來以毫秒為單位的日期 |
返回:
添加到 UTC 以獲取本地時間的時間量(以毫秒為單位)。
setRawOffset
public abstract void setRawOffset(int offsetMillis)
將基準時區(qū)偏移設置為 GMT。 這是添加到 UTC 以獲取本地時間的偏移量。
如果底層 TimeZone 實現子類支持歷史 GMT 偏移量更改,則將指定的 GMT 偏移量設置為最新的 GMT 偏移量,并使用與已知的最新 GMT 偏移量值的差值來調整所有歷史 GMT 偏移量值。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| offsetMillis | 給定的基準時區(qū)偏移到 GMT。 |
getRawOffset
public abstract int getRawOffset()
返回添加到 UTC 以獲取此時區(qū)的標準時間的時間量(以毫秒為單位)。 因為這個值不受夏令時影響,所以稱為原始偏移量。
如果底層 TimeZone 實現子類支持歷史 GMT 偏移更改,則該方法返回當前日期的原始偏移值。 例如,在檀香山,其原始偏移量在 1947 年從 GMT-10:30 更改為 GMT-10:00,并且此方法始終返回 -36000000 毫秒(即 -10 小時)。
返回:
添加到 UTC 的原始偏移時間量(以毫秒為單位)。
getID
public String getID()
獲取該時區(qū)的 ID。
返回:
這個時區(qū)的ID。
setID
public void setID(String ID)
設置時區(qū) ID。 這不會更改時區(qū)對象中的任何其他數據。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| ID | 新時區(qū) ID。 |
getDisplayName
public final String getDisplayName()
返回此 TimeZone 的長標準時間名稱,適合在默認語言環(huán)境中呈現給用戶。
該方法等價于:
getDisplayName(false, LONG,
Locale.getDefault(Locale.Category#DISPLAY))返回:
此時區(qū)在默認語言環(huán)境中的可讀名稱。
getDisplayName
public final String getDisplayName(Locale locale)
返回此 TimeZone 的長標準時間名稱,適合在指定區(qū)域設置中呈現給用戶。
該方法等價于:
getDisplayName(false, LONG, locale) 參數:
| 參數名稱 | 參數描述 |
|---|---|
| locale | 提供顯示名稱的語言環(huán)境。 |
返回:
此時區(qū)在給定語言環(huán)境中的可讀名稱。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果 locale 為空 |
getDisplayName
public final String getDisplayName(boolean daylight, int style)
返回此 TimeZone 的指定樣式的名稱,該名稱適合在默認語言環(huán)境中呈現給用戶。 如果指定的日光為真,則返回夏令時名稱(即使此 TimeZone 不遵守夏令時)。 否則,返回標準時間名稱。
該方法等價于:
getDisplayName(daylight, style,
Locale.getDefault(Locale.Category#DISPLAY))參數:
| 參數名稱 | 參數描述 |
|---|---|
| daylight | true 指定夏令時名稱,或 false 指定標準時間名稱 |
| style | 長或短 |
返回:
此時區(qū)在默認語言環(huán)境中的可讀名稱。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 style 無效 |
getDisplayName
public String getDisplayName(boolean daylight, int style, Locale locale)
返回此 TimeZone 的指定樣式的名稱,該名稱適合在指定區(qū)域設置中呈現給用戶。 如果指定的日光為真,則返回夏令時名稱(即使此 TimeZone 不遵守夏令時)。 否則,返回標準時間名稱。
查找時區(qū)名稱時,使用從指定語言環(huán)境派生的 ResourceBundle.Control#getCandidateLocales(String,Locale)。 (不執(zhí)行 ResourceBundle.Control#getFallbackLocale(String,Locale) 搜索。)如果在搜索路徑的任何 Locale 中找到時區(qū)名稱,包括 Locale#ROOT,則返回該名稱。 否則,返回標準化自定義 ID 格式的字符串。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| daylight | true 指定夏令時名稱,或 false 指定標準時間名稱 |
| style | 長或短 |
| locale | 提供顯示名稱的語言環(huán)境。 |
返回:
此時區(qū)在給定語言環(huán)境中的可讀名稱。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 style 無效 |
| NullPointerException | 如果 locale 為空 |
getDSTSavings
public int getDSTSavings()
返回要添加到本地標準時間以獲取本地掛鐘時間的時間量。
如果對 useDaylightTime() 的調用返回 true,則默認實現返回 3600000 毫秒(即一小時)。 否則,返回 0(零)。
如果底層 TimeZone 實現子類支持歷史和未來夏令時計劃更改,則此方法返回可以作為未來預測的最后一個已知夏令時規(guī)則的節(jié)省時間量。
如果需要任何給定時間戳的節(jié)省時間量,請使用此 TimeZone 和時間戳構造一個日歷,并調用 Calendar#get(int)(Calendar#DST_OFFSET)。
返回:
以毫秒為單位的節(jié)省時間
useDaylightTime
public abstract boolean useDaylightTime()
查詢此 TimeZone 是否使用夏令時。
如果底層 TimeZone 實現子類支持歷史和未來的夏令時時間表更改,則此方法引用最后一個已知的夏令時規(guī)則,該規(guī)則可以是未來的預測,并且可能與當前規(guī)則不同。 如果還應考慮當前規(guī)則,請考慮調用observesDaylightTime()。
返回:
如果此 TimeZone 使用夏令時,則為 true,否則為 false。
observesDaylightTime
public boolean observesDaylightTime()
如果此 TimeZone 當前處于夏令時,或者如果在將來的任何時間發(fā)生從標準時間到夏令時的轉換,則返回 true。
如果 useDaylightTime() 或 inDaylightTime(new Date()) 返回 true,則默認實現返回 true。
返回:
如果此 TimeZone 當前處于夏令時,或者如果在未來任何時間發(fā)生從標準時間到夏令時的轉換,則為 true; 否則為 false。
inDaylightTime
public abstract boolean inDaylightTime(Date date)
查詢給定日期是否在該時區(qū)的夏令時。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| date | 給定的日期。 |
返回:
如果給定日期在夏令時,則為 true,否則為 false。
getTimeZone
public static TimeZone getTimeZone(String ID)
獲取給定 ID 的時區(qū)。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| ID | TimeZone 的 ID,可以是“PST”等縮寫、“America/Los_Angeles”等全名或“GMT-8:00”等自定義 ID。 請注意,支持縮寫僅是為了兼容 JDK 1.1.x,應使用全名。 |
返回:
指定的時區(qū),如果無法理解給定的 ID,則為 GMT 時區(qū)。
getTimeZone
public static TimeZone getTimeZone(ZoneId zoneId)
獲取給定 zoneId 的 TimeZone。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| zoneId | 從中獲取時區(qū) ID 的 ZoneId |
返回:
指定的時區(qū),如果無法理解給定的 ID,則為 GMT 時區(qū)。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果 zoneId 為空 |
toZoneId
public ZoneId toZoneId()
將此 TimeZone 對象轉換為 ZoneId。
返回:
表示與此 TimeZone 相同時區(qū)的 ZoneId
getAvailableIDs
public static String[] getAvailableIDs(int rawOffset)
根據給定的時區(qū)偏移量獲取可用的 ID,以毫秒為單位。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| rawOffset | 給定的時區(qū) GMT 偏移量(以毫秒為單位)。 |
返回:
一個 ID 數組,其中該 ID 的時區(qū)具有指定的 GMT 偏移量。 例如,“America/Phoenix”和“America/Denver”都有 GMT-07:00,但夏令時行為不同。
getAvailableIDs
public static String[] getAvailableIDs()
獲取支持的所有可用 ID。
返回:
一個 ID 數組。
getDefault
public static TimeZone getDefault()
獲取 Java 虛擬機的默認時區(qū)。 如果緩存的默認 TimeZone 可用,則返回其克隆。 否則,該方法采取以下步驟來確定默認時區(qū)。
- 使用 user.timezone 屬性值作為默認時區(qū) ID(如果可用)。
- 檢測平臺時區(qū) ID。 平臺時區(qū)和 ID 映射的來源可能因實現而異。
- 如果給定或檢測到的時區(qū) ID 未知,則使用 GMT 作為最后的手段。
從 ID 創(chuàng)建的默認 TimeZone 被緩存,并返回其克隆。 user.timezone 屬性值在返回時設置為 ID。
返回:
默認時區(qū)
setDefault
public static void setDefault(TimeZone zone)
設置由 getDefault 方法返回的 TimeZone。 區(qū)域被緩存。 如果 zone 為 null,則清除緩存的默認 TimeZone。 此方法不會更改 user.timezone 屬性的值。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| zone | 新的默認時區(qū),或 null |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| SecurityException | 如果安全管理器的 checkPermission 拒絕 PropertyPermission("user.timezone", "write") |
hasSameRules
public boolean hasSameRules(TimeZone other)
如果此區(qū)域與另一個區(qū)域具有相同的規(guī)則和偏移量,則返回 true。 也就是說,如果該區(qū)域僅在 ID 上有所不同,如果有的話。 如果其他區(qū)域為空,則返回 false。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| other | 要與之比較的 TimeZone 對象 |
返回:
如果另一個區(qū)域不為空且與此區(qū)域相同,則為 true,ID 可能除外
clone
public Object clone()
創(chuàng)建此 TimeZone 的副本。
覆蓋:
在類 Object 中克隆
返回:
此 TimeZone 的克隆
本文標題:創(chuàng)新互聯鴻蒙OS教程:鴻蒙OSTimeZone
網址分享:http://fisionsoft.com.cn/article/djecceg.html


咨詢
建站咨詢
