OCA Java imtahan mövzuları

Manipulating Dates and Times

Date 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:

  1. 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
  2. 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

java-date-time-methods

 

[topics lang=az]

 

 “OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808”, by J.Boyarsky & S.Selikoff

About the author

Mushfiq Mammadov

Leave a Comment


The reCAPTCHA verification period has expired. Please reload the page.

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.