Date və time classları String
kimi immutable`dir. Ona görə də edilmiş hər hansı bir dəyişikliyin yadda saxlanılmasını istəyiriksə, həmin dəyişikliyin nəticəsini yenidən referans dəyişənə mənimsətmək lazımdır.
LocalDate date = LocalDate.of(2014, Month.JANUARY, 20); System.out.println(date); // 2014-01-20 date = date.plusDays(2); System.out.println(date); // 2014-01-22 date = date.plusWeeks(1); System.out.println(date); // 2014-01-29 date = date.plusMonths(1); System.out.println(date); // 2014-02-28 date = date.plusYears(5); System.out.println(date); // 2019-02-28 date = date.minusMonths(1); System.out.println(date); // 2019-01-28 date = date.plusMonths(1).plusDays(2); System.out.println(date); // 2019-03-02 LocalDate date = LocalDate.of(2020, Month.JANUARY, 20); LocalTime time = LocalTime.of(5, 15); LocalDateTime dateTime = LocalDateTime.of(date, time); System.out.println(dateTime); // 2020-01-20T05:15 dateTime = dateTime.minusDays(1); System.out.println(dateTime); // 2020-01-19T05:15 dateTime = dateTime.minusHours(10); System.out.println(dateTime); // 2020-01-18T19:15 dateTime = dateTime.minusSeconds(30); System.out.println(dateTime); // 2020-01-18T19:14:30
Date və time classlarını zəncirvari şəkildə də işlətmək mümkündür. Yuxarıdakı nümunəni zəncirvari şəkildə aşağıdakı kimi yaza bilərik:
LocalDateTime dateTime = LocalDateTime.of(date,time).minusDays(1).minusHours(10).minusSeconds(30); System.out.println(dateTime); // 2020-01-18T19:14:30
İmtahanda sizi əsas 2 yolla çaşdıra bilərlər:
- Date və time classlarının immutable olduğunu yaddan çıxarmayın!
LocalDate date = LocalDate.of(2020, Month.JANUARY, 20); date.plusDays(10); System.out.println(date); // 2020-01-20
LocalDate
saat ilə bağlı,LocalTime
isə tarix ilə bağlı metodları dəstəkləmir!LocalDate date = LocalDate.of(2017, Month.OCTOBER, 20); date = date.plusDays(3); date.plusMonths(-1); // It is the same date.minusMonths(1); date.plusHours(11); // DOES NOT COMPILE
*TABLE 1. Methods in LocalDate, LocalTime and LocalDateTime
[topics lang=az]
* “OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808”, by J.Boyarsky & S.Selikoff