它是java.util 套件中java.lang.Object 類別的直接子類,有助於表示程式運行的特定區域的時區偏移量,或定義為參數的時區,也有助於保存其他更改,例如夏令時;它實現了可序列化和可克隆的接口,使其兼容網絡傳輸以及將一個時區對象的設置克隆到另一個時區對像中。
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
Java中TimeZone類別的方法
此類別使用以下 5 個參數來儲存時區資訊:
- public static final int SHORT = 1;
- public static final int LONG= 1:
- 私人靜態最終 int ONE_MINUTE = 60*1000;
- 私人靜態最終 int ONE_HOUR = 60*ONE_MINUTE;
- 私有靜態最終 int ONE_DAY = 24*ONE_HOUR;
以下是此類中可用的方法:
1。 public Abstract int getOffset(intera,intyear,intmonth,intday,intdayOfWeek,intmilliseconds)
此方法有助於檢索時區的偏移量(以毫秒為單位),該偏移量可以添加到 GMT 以獲取參數中指定的特定日期的本地時間。這裡月份參數中的 0 表示一月。
代碼:
package Try; import java.util.TimeZone; publicclass Office { publicstaticvoid main(String[] args) { TimeZone obj = TimeZone.getTimeZone("Africa/Bangui"); System.out.println("Offset value at 2020,5,6 date is = " + obj.getOffset(1, 2020, 2, 5, 6, 2000)); } }
輸出:
2。 Abstract public void setRawOffset(int offsetMillis)
此方法用於將時區基準設定為 GMT,用於透過將本地時間新增至 UTC 來取得本地時間。
3。 public Abstract int getRawOffset()
它用於獲取與夏令時無關的毫秒數,並添加到 UTC 以檢索標準時區。
代碼:
import java.util.TimeZone; publicclass Office { publicstaticvoid main(String[] args) { TimeZone obj = TimeZone.getTimeZone("Pacific/Pago_Pago"); System.out.println("RawOffset in the start is = " + obj.getRawOffset()); obj.setRawOffset(7000000); System.out.println("RawOffset "+ "set to 7000000"); System.out.println("RawOffset after changes is = " + obj.getRawOffset());
}
}
輸出:
4。 public boolean ObservesDaylightTime()
此方法用於檢查時區目前是否處於夏令時,或者是否為將來的時間表更改安排了任何轉換,並發送 true,在這種情況下發送 false。
代碼:
import java.util.*; publicclass Office { publicstaticvoid main(String[] args) { TimeZone obj = TimeZone.getTimeZone("Europe/Rome"); System.out.println(obj.getID()+" is in Daylight or will be in future transitions = " + obj.observesDaylightTime()); } }
輸出:
5。 static String[] getAvailableIDs()
用於以字串格式取得該時區下所有支援的可用ID的陣列。
代碼:
import java.util.*; publicclass Office { publicstaticvoid main(String[] args) { String[] idArray= TimeZone.getAvailableIDs(); System.out.println("Available IDs are \n"); for(String a :idArray){ System.out.print(a); System.out.print("\n"); } } }
輸出:
6。 public String getDisplayName(boolean daylight, int style, Locale locale)
此方法用於取得所使用的時區名稱。如果 daylight 參數為 true,則傳回夏令時時區;否則,傳回標準時區。樣式參數指定是否需要長名稱或短名稱並且在指定的區域設定中。如果給定的樣式無效,則會拋出 IllegalArgumentException;如果未指定 locale 參數,則會拋出 NullPointerException。
7。 public static TimeZone getDefault()
此方法幫助我們檢索特定區域的時區的預設值。
8。 public StringgetID()
用於檢索該時區的ID。
解釋上述三種方法的範例程式:
代碼:
import java.util.TimeZone; publicclass Office { publicstaticvoid main(String[] args) { TimeZone obj1 = TimeZone.getDefault(); System.out.println("Display Name of default Offset is = " + obj1.getDisplayName(false,0)); System.out.println("Id of Default Offset = " + obj1.getID()); } }
輸出:
9。 public Abstract boolean inDaylightTime(Date date)
此方法用於查詢參數中給出的特定日期是否處於該特定時區的夏令時,並傳回 true,否則傳回 false。
代碼:
import java.util.*; publicclass Office { publicstaticvoid main(String[] args) { TimeZone obj = TimeZone.getTimeZone("Europe/Rome"); Date dt = new Date(); System.out.println(dt.toString()+" is in Daylight Savings or not = " + obj.inDaylightTime(dt)); } }
輸出:
10。公有抽象布林值 useDaylightTime()
此方法用於驗證給定時區是否支援夏令時時間表變更;如果是,則傳回 true,否則傳回 false。
代碼:
import java.util.*; publicclass Office { publicstaticvoid main(String[] args) { TimeZone obj = TimeZone.getTimeZone("Europe/Rome"); System.out.println(obj.getID()+" supports Daylight Savings or not = \n" + obj.useDaylightTime()); } }
輸出:
11。公共布爾值具有 SameRules(TimeZone tz1)
此方法有助於分析呼叫的時區物件與傳入其參數的時區物件是否具有相同的規則,並傳回 true,否則傳回 false。
Code:
import java.util.*; publicclass Office { publicstaticvoid main(String[] args) { TimeZone obj = TimeZone.getTimeZone("Africa/Bangui"); TimeZone obj1 = TimeZone.getTimeZone("Europe/Rome"); System.out.println(obj.getID() + " has Same Rules as of " +obj.getID() + " = " +obj.hasSameRules(obj)); System.out.println(obj.getID() + " has Same Rules as of " +obj1.getID() + " = " +obj.hasSameRules(obj)); } }
Output:
Conclusion
It is a serializable and cloneable class present in java.util package and is a direct sub class of java.lang.object class which helps to represent the time zone offset of a particular region in the 2 static final and int fields long and short and support various operations using the supported methods in them.
以上是爪哇時區的詳細內容。更多資訊請關注PHP中文網其他相關文章!

新興技術對Java的平台獨立性既有威脅也有增強。 1)雲計算和容器化技術如Docker增強了Java的平台獨立性,但需要優化以適應不同雲環境。 2)WebAssembly通過GraalVM編譯Java代碼,擴展了其平台獨立性,但需與其他語言競爭性能。

不同JVM實現都能提供平台獨立性,但表現略有不同。 1.OracleHotSpot和OpenJDKJVM在平台獨立性上表現相似,但OpenJDK可能需額外配置。 2.IBMJ9JVM在特定操作系統上表現優化。 3.GraalVM支持多語言,需額外配置。 4.AzulZingJVM需特定平台調整。

平台獨立性通過在多種操作系統上運行同一套代碼,降低開發成本和縮短開發時間。具體表現為:1.減少開發時間,只需維護一套代碼;2.降低維護成本,統一測試流程;3.快速迭代和團隊協作,簡化部署過程。

Java'splatformindependencefacilitatescodereusebyallowingbytecodetorunonanyplatformwithaJVM.1)Developerscanwritecodeonceforconsistentbehavioracrossplatforms.2)Maintenanceisreducedascodedoesn'tneedrewriting.3)Librariesandframeworkscanbesharedacrossproj

要解決Java應用程序中的平台特定問題,可以採取以下步驟:1.使用Java的System類查看系統屬性以了解運行環境。 2.利用File類或java.nio.file包處理文件路徑。 3.根據操作系統條件加載本地庫。 4.使用VisualVM或JProfiler優化跨平台性能。 5.通過Docker容器化確保測試環境與生產環境一致。 6.利用GitHubActions在多個平台上進行自動化測試。這些方法有助於有效地解決Java應用程序中的平台特定問題。

類加載器通過統一的類文件格式、動態加載、雙親委派模型和平台無關的字節碼,確保Java程序在不同平台上的一致性和兼容性,實現平台獨立性。

Java編譯器生成的代碼是平台無關的,但最終執行的代碼是平台特定的。 1.Java源代碼編譯成平台無關的字節碼。 2.JVM將字節碼轉換為特定平台的機器碼,確保跨平台運行但性能可能不同。

多線程在現代編程中重要,因為它能提高程序的響應性和資源利用率,並處理複雜的並發任務。 JVM通過線程映射、調度機制和同步鎖機制,在不同操作系統上確保多線程的一致性和高效性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

禪工作室 13.0.1
強大的PHP整合開發環境