當前位置:編程學習大全網 - 源碼下載 - 程序包java.time不存在怎麽解決?

程序包java.time不存在怎麽解決?

jdk版本太低,java.time.LocalTime是java8新出的包。如果版本太低的話,比如jdk1.6,當然java.time不存在。換壹個好版本的jdk!!\x0d\\x0d\為什麽需要新的日期/日期API?\x0d\在開始研究Java8日期/時間API之前,讓我們先來看壹下為什麽我們需要這樣壹個新的API。在Java中,現有的與日期和時間相關的類存在諸多問題,其中有:\x0d\Java的日期/時間類的定義並不壹致,在java.util和java.sql的包中都有日期類,此外用於格式化和解析的類在java.text包中定義。\x0d\java.util.Date同時包含日期和時間,而java.sql.Date僅包含日期,將其納入java.sql包並不合理。另外這兩個類都有相同的名字,這本身就是壹個非常糟糕的設計。\x0d\對於時間、時間戳、格式化以及解析,並沒有壹些明確定義的類。對於格式化和解析的需求,我們有java.text.DateFormat抽象類,但通常情況下,SimpleDateFormat類被用於此類需求。\x0d\所有的日期類都是可變的,因此他們都不是線程安全的,這是Java日期類最大的問題之壹。\x0d\日期類並不提供國際化,沒有時區支持,因此Java引入了java.util.Calendar和java.util.TimeZone類,但他們同樣存在上述所有的問題。\x0d\在現有的日期和日歷類中定義的方法還存在壹些其他的問題,但以上問題已經很清晰地表明:Java需要壹個健壯的日期/時間類。這也是為什麽JodaTime在Java日期/時間需求中扮演了高質量替換的重要角色。\x0d\Java8日期/時間API\x0d\Java8日期/時間API是JSR-310的實現,它的實現目標是克服舊的日期時間實現中所有的缺陷,新的日期/時間API的壹些設計原則是:\x0d\不變性:新的日期/時間API中,所有的類都是不可變的,這對多線程環境有好處。\x0d\關註點分離:新的API將人可讀的日期時間和機器時間(unixtimestamp)明確分離,它為日期(Date)、時間(Time)、日期時間(DateTime)、時間戳(unixtimestamp)以及時區定義了不同的類。\x0d\清晰:在所有的類中,方法都被明確定義用以完成相同的行為。舉個例子,要拿到當前實例我們可以使用now()方法,在所有的類中都定義了format()和parse()方法,而不是像以前那樣專門有壹個獨立的類。為了更好的處理問題,所有的類都使用了工廠模式和策略模式,壹旦妳使用了其中某個類的方法,與其他類協同工作並不困難。\x0d\實用操作:所有新的日期/時間API類都實現了壹系列方法用以完成通用的任務,如:加、減、格式化、解析、從日期/時間中提取單獨部分,等等。\x0d\可擴展性:新的日期/時間API是工作在ISO-8601日歷系統上的,但我們也可以將其應用在非IOS的日歷上。\x0d\\x0d\\x0d\Java8日期/時間API包:\x0d\java.time包:這是新的Java日期/時間API的基礎包,所有的主要基礎類都是這個包的壹部分,如:LocalDate,LocalTime,LocalDateTime,Instant,Period,Duration等等。所有這些類都是不可變的和線程安全的,在絕大多數情況下,這些類能夠有效地處理壹些公***的需求。\x0d\java.time.chrono包:這個包為非ISO的日歷系統定義了壹些泛化的API,我們可以擴展AbstractChronology類來創建自己的日歷系統。\x0d\java.time.format包:這個包包含能夠格式化和解析日期時間對象的類,在絕大多數情況下,我們不應該直接使用它們,因為java.time包中相應的類已經提供了格式化和解析的方法。\x0d\java.time.temporal包:這個包包含壹些時態對象,我們可以用其找出關於日期/時間對象的某個特定日期或時間,比如說,可以找到某月的第壹天或最後壹天。妳可以非常容易地認出這些方法,因為它們都具有“withXXX”的格式。\x0d\java.time.zone包:這個包包含支持不同時區以及相關規則的類。

  • 上一篇:b站1322萬粉絲up主老番茄是誰老番茄個人資料介紹
  • 下一篇:懸賞貓和眾人幫對比介紹
  • copyright 2024編程學習大全網