Sử dụng java.time
Cách tiếp cận hiện đại với các lớp java.time, thay thế các lớp học ngày thời gian di sản cũ phiền hà .
tính toán sự khác biệt trong những ngày giữa để ngày (có một thành phần 0 lần)
Lớp LocalDate
đại diện cho một giá trị ngày tháng chỉ mà không cần thời gian của ngày và không có múi giờ.
ChronoUnit
enum có một số phương pháp tiện dụng như between
.
Trong việc xác định khoảng thời gian, các lớp java.time sử dụng phương pháp Nửa mở khi bắt đầu là bao gồm trong khi kết thúc là độc quyền.
LocalDate start = LocalDate.of(2017 , Month.JANUARY , 23);
LocalDate stop = LocalDate.of(2017 , Month.FEBRUARY , 17);
long daysBetween = ChronoUnit.DAYS.between(start , stop);
Bạn có thể biểu thị khoảng thời gian đó làm đối tượng, sử dụng lớp Period
.
Period p = Period.between(start , stop);
Về java.time
Khung java.time được xây dựng vào Java 8 và sau đó. Các lớp này thay thế các lớp học ngày giờ legacy phiền hà cũ như java.util.Date
, Calendar
, & SimpleDateFormat
.
Dự án Joda-Time, hiện đang ở maintenance mode, khuyên di chuyển đến các lớp java.time.
Để tìm hiểu thêm, hãy xem Oracle Tutorial. Và tìm kiếm Stack Overflow cho nhiều ví dụ và giải thích. Đặc điểm kỹ thuật là JSR 310.
Nơi lấy các lớp java.time?
Dự án mở rộng ThreeTen-Extra 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 những bổ sung có thể có trong tương lai vào java.time. Bạn có thể tìm thấy một số lớp học hữu ích tại đây như Interval
, YearWeek
, YearQuarter
và more.
JODA TIME !!!!!! (Trước khi vội vàng!) –
[java.time] (http://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html) !!!!!! –