Các java.time khuôn khổ thay thế cả lớp ngày thời gian di sản và Joda thời gian
Cập nhật: Các lớp thời gian ngày cũ được phân phối với các phiên bản Java sớm nhất hiện đang được kế thừa, chính thức được thay thế bởi các lớp java.time được tích hợp trong Java 8, Java 9 và sau đó.
Date
, Calendar
, SimpleDateFormat
, Và các java.sql.*
lớp học ngày thời gian nên tất cả phải tránh. Không bao giờ có nhu cầu sử dụng các lớp học rắc rối, rắc rối, được thiết kế kém này. Chúng hoàn toàn được thay thế bởi các lớp java.time. Mục đích duy nhất của họ bây giờ là duy trì mã cũ hiện có. Khi giao tiếp với mã cũ, bạn có thể chuyển đổi sang / từ java.time bằng cách gọi các phương thức mới được thêm vào các lớp cũ. Để biết thêm thông tin về việc chuyển đổi, hãy xem: Chuyển đổi java.util.Date sang loại java java.time nào? .
Các Joda thời gian dự án, bây giờ trong chế độ bảo trì , khuyên chuyển đổi sang các java.time lớp. Dự án Joda-Time đã truyền cảm hứng cho khung java.time. Cả hai được dẫn dắt bởi cùng một người đàn ông, Stephen Colebourne . Bạn có thể nghĩ về java.time như là một bản viết lại / thiết kế lại của Joda-Time, tất cả các mã mới nhưng sử dụng những gì đã học được trong nhiều năm từ việc xây dựng thư viện thời gian toàn diện và tinh vi đầu tiên của ngành.
Để tìm hiểu thêm, xem Hướng dẫn của Oracle . Và tìm kiếm Stack Overflow cho nhiều ví dụ và giải thích.
Phần lớn chức năng java.time được chuyển ngược lại sang Java 6 & 7 trong ThreeTen-Backport và được điều chỉnh thêm cho Android trong ThreeTenABP (xem Cách sử dụng Thẻ ).
Các ThreeTen-Extra dự án mở rộng java.time với các lớp bổ sung. Dự án này là một nền tảng chứng minh cho các bổ sung có thể trong tương lai cho java.time. Bạn có thể tìm thấy một số các lớp học hữu ích ở đây chẳng hạn như Interval
, YearWeek
, YearQuarter
, và nhiều hơn nữa .