15 Eylül 2017 Cuma

ChronoUnit Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.time.temporal.ChronoUnit;
between metodu - days
(İkinci parametre - birinci parametre) değerini verir.

Örnek
Şöyle yaparız.
LocalDate d1 = ...;
LocalDate d2 = ...;

long daysInBetween = ChronoUnit.DAYS.between(d1, d2);
between metodu - hours
(İkinci parametre - birinci parametre) değerini verir.

Örnek
LocalDateTime kullanarak şöyle yaparız.
LocalDateTime timeNow = LocalDateTime.now();
LocalDateTime timeAfterSometime = timeNow.plusHours(4).plusMinutes(11);
long hoursDiff = ChronoUnit.HOURS.between(timeNow, timeAfterSometime); // 4
Örnek
ZonedDateTime kullanarak şöyle yaparız.
ZonedDateTime zd1 = ...;
ZonedDateTime zd2 = ...;
long x = ChronoUnit.HOURS.between(zd1, zd2);
between metodu - minutes
(İkinci parametre - birinci parametre) değerini verir.

Örnek
Şöyle yaparız.
LocalDateTime timeNow = LocalDateTime.now();
LocalDateTime timeAfterSometime = timeNow.plusHours(4).plusMinutes(11);
long minutesDiff = ChronoUnit.MINUTES.between(timeNow, timeAfterSometime); // 251
between metodu - month
(İkinci parametre - birinci parametre) değerini verir.

Örnek
Şöyle yaparız.
public long monthsBetweenJava8(Date fromDate, Date toDate) {
  if (fromDate == null || toDate == null) {
    throw new IllegalArgumentException();
  }
  LocalDateTime ldt1 = fromDate.toInstant().atZone(ZoneId.systemDefault())
    .toLocalDateTime();
  LocalDateTime ldt2 = toDate.toInstant().atZone(ZoneId.systemDefault())
    .toLocalDateTime();
  return ChronoUnit.MONTHS.between(ldt1, ldt2);
}

Hiç yorum yok:

Yorum Gönder