Duration ve Period
- Java kursu
- İleri seviye
- Ders 21/82
- 5 dk
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
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
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
Duration d = Duration.____(start, end);
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 |