Period class được giới thiệu trong java 8 được dùng để đại diện cho một khoảng thời gian. Period class sử dụng đơn vị year, month và day cho khoảng thời gian cụ thể.
LocalDate startDate = LocalDate.of(2019, 2, 20); LocalDate endDate = LocalDate.of(2020, 1, 15); Period period = Period.between(startDate, endDate);
Khởi tạo Period
Để khởi tạo Period object chúng ta có nhiều method hỗ trợ như of(), ofDays(), ofMonths(), ofYears(), ofWeeks().
Period fromUnits = Period.of(3, 10, 10); Period fromDays = Period.ofDays(50); Period fromMonths = Period.ofMonths(5); Period fromYears = Period.ofYears(10); Period fromWeeks = Period.ofWeeks(40);
Thao tác với Period
Chúng ta có thể sử dụng getYears(), getMonths(), getDays() để lấy giá trị của Period object.
System.out.println(period.getYears() + " - " + period.getMonths() + " - " + period.getDays()); // 0 - 10 - 26
Sử dụng isNegative() để kiểm tra thời gian kết thúc lớn hơn hay nhỏ hơn thời gian bắt đầu.
System.out.println(period.isNegative()); // false
Để cộng trừ giá trị của Period object chúng ta có thể sử dụng các method plusDays(), plusYears(), plusMonths() etc để cộng và minusDays(), minusYears(), minusMonths() etc để giảm
Period period = period.plusDays(50).getDays()); Period period = period.minusMonths(2).getMonths());