CodeBlanks Logo Icon CodeBlanks

Duration ve Period

Duration ve Period ile süre farkı öğrenirsin.

Duration ve Period farkı

Duration ve Period iki zaman aralığını temsil eder; ama farklı birimlerle. Duration saat-dakika-saniye bazlıdır; Period yıl-ay-gün bazlıdır.

Örnek: Duration.between(start, end) iki zaman arasındaki süreyi saat-dakika cinsinden verir. Period.between(birth, today) ise iki tarih arasındaki yaşı yıl-ay-gün olarak verir. Yanlış türü kullanmak garip sonuçlar üretir; bu yüzden tarih için Period, saat için Duration seçilir.

Period ile tarih aralığı

Period yıl-ay-gün bazlı aralıkları ifade eder. Period.ofYears(1), Period.ofMonths(6) gibi yöntemlerle üretilebilir; ayrıca Period.between ile iki tarih arasındaki fark alınabilir.

Örnek: LocalDate next = today.plus(Period.ofYears(1)). Bu, bugüne bir yıl ekler. Period'u plus yöntemine vermek, plusYears(1) çağrısıyla aynı sonucu verir; ama aralığı değişken olarak taşımak istediğinde daha esnektir.

Uygulama İki saat arasındaki süreyi bul

LocalTime.of(10, 0) ve LocalTime.of(12, 30) ile iki saat oluştur. Duration.between(start, end).toMinutes() ile aradaki dakika sayısını System.out.println ile yazdır.

Başlangıç kodu

Main.java
import java.time.Duration;
import java.time.LocalTime;

// İki LocalTime oluştur: 10:00 ve 12:30
// Duration.between ile aradaki süreyi bul
// toMinutes ile dakikayı yazdır

Örnek çözüm

Main.java
import java.time.Duration;
import java.time.LocalTime;

public class DurationExample {
    public static void main(String[] args) {
        LocalTime start = LocalTime.of(10, 0);
        LocalTime end = LocalTime.of(12, 30);
        System.out.println(Duration.between(start, end).toMinutes());
    }
}

Beklenen çıktı

150

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hangi sınıf saat ve dakika bazlı zaman aralığını tutar?

  • Duration Doğru cevap
  • Period
  • LocalDate
  • Instant

Açıklama: Duration saat-dakika-saniye bazlıdır.

2 Duration.between çağrısını tamamla

Soru
Duration d = Duration.____(start, end);
Cevap
Duration d = Duration.between(start, end);

Açıklama: between iki zaman arasındaki süreyi verir.

3 Duration ve Period yöntemlerini eşleştir

Kavram Anlamı
Duration Saat bazlı
Period Gün bazlı
between İki zaman arası
ofDays Gün ile üret

İleri seviye bölümündeki tüm dersler