28 Şubat 2019 Perşembe

java.time API LocalTime Sınıfı

Giriş
Açıklaması şöyle
LocalTime holds only the time part without a time-zone in the ISO-8601 calendar system.
Sadece saati bilir, tarihi bilmez. Hour, minute, second,nanosecond alanlarını bilir. Gün içindeki bir saati 23:59:59'a kadar saklayabilir.

Duration İle Farkı
Eğer daha üzün bir süreti saklamak istersek Duration sınıfı kullanılır

Kullanım
of metodunu kullanırken ne kadar hassasiyet istediğimizi belirtebiliriz. 
Örnek
Şöyle yaparız
LocalTime.now();                 // 13:34:17.615228736
LocalTime.of(2,3);               // 02:03
LocalTime.of(2,3,4);             // 02:03:04
LocalTime.of(2,3,4,5);           // 02:03:04.000000005

compareTo metodu
Metodun içi şöyle.
@Override
public int compareTo(LocalTime other) {
  int cmp = Integer.compare(hour, other.hour);
  if (cmp == 0) {
    cmp = Integer.compare(minute, other.minute);
    if (cmp == 0) {
      cmp = Integer.compare(second, other.second);
      if (cmp == 0) {
        cmp = Integer.compare(nano, other.nano);
      }
    }
  }
  return cmp;
}
get metodu
Şöyle yaparız.
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("hh:mm a");
LocalTime localTime = LocalTime.parse("10:45 pm", formatter);

String str = localTime.get(ChronoField.AMPM_OF_DAY) == 0 ? "AM" : "PM";
getHour metodu
Şöyle yaparız.
int hour = localTime.getHour(); 
getMinute metodu
Şöyle yaparız.
LocalTime localTime = ...;
int minute = localTime.getMinute();
isAfter metodu
Metodun içi şöyle.
public boolean isAfter(LocalTime other) {
  return compareTo(other) > 0;
}
Şöyle yaparız.
LocalTime startTime = ...;
LocalTime targetTime = ...;

if (targetTime.isAfter(startTime) ) {
  ...
}
isBefore metodu
Şöyle yaparız.
LocalTime startTime = ...;
LocalTime targetTime = ...;

if (targetTime.isBefore(startTime) ) {
  ...
}
MIN Alanı
00:00:00 değerini temsil eder.

Örnek
Şöyle yaparız
Duration.between (                // Represent a span of time of hours, minutes, seconds. 
    LocalTime.MIN ,               // 00:00:00
    LocalTime.parse ( "08:30:00" )// Parse text as a time-of-day. 
)                                 // Returns a `Duration` object, a span-of-time. 
.toString()   
Örnek
Şöyle yaparız
DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ");
return ZonedDateTime.of(
        date, 
        LocalTime.MIN, 
        ZoneId.of("Europe/Paris")
).format(dateFormat);
Çıktı olarak şunu alırız
2013-10-19T00:00:00+0200
minusMinutes metodu
Örnek ver

now metodu
Örnek ver

of metodu
Örnek ver

ofMilliOfDay metodu
Böyle bir metod yok. Milisaniyeyi nanosaniye değerine çevirerek pfNanoOfDay() metodu kullanılabilir.

ofNanoOfDay metodu
Belirtilen nanosaniye değerini kullanarak bir LocalTime nesnesi döner.

parse metodu
Şöyle yaparız.
DateTimeFormatter format = DateTimeFormatter.ofPattern("HH:mm");
String s = "21:30";
LocalTime startTime = LocalTime.parse(s, format);
plusHours metodu
Örnek ver

toSecondOfDay metodu
Şöyle yaparız.
String input = "01:52:27";
LocalTime time = LocalTime.parse(input);
int seconds = time.toSecondOfDay();
toString metodu
Örnek ver

truncatedTo metodu
Örnek ver

withNano metodu
Örnek ver