java.time API temelleri
Date ve Calendar yerine değişmez ve açık tarih/saat türlerini kullanın.
Kod Karşılaştırması
✕ Pre-Java 8
// Mutable, confusing, zero-indexed months Calendar cal = Calendar.getInstance(); cal.set(2025, 0, 15); // January = 0! Date date = cal.getTime(); // not thread-safe
✓ Java 8+
LocalDate date = LocalDate.of(
2025, Month.JANUARY, 15);
LocalTime time = LocalTime.of(14, 30);
Instant now = Instant.now();
// immutable, thread-safe
Bu kodda bir sorun mu gördünüz? Bize bildirin.
Modern yöntem neden daha iyi
Değişmez
Tarih/saat değerleri yanlışlıkla değiştirilemez.
Açık API
0 değil Month.JANUARY; 2 değil DayOfWeek.MONDAY.
Thread-safe
Senkronizasyon gerekmez — iş parçacıkları arasında serbestçe paylaşın.
Eski Yaklaşım
Date + Calendar
Modern Yaklaşım
java.time.*
JDK'dan itibaren
8
Zorluk
Başlangıç
JDK Desteği
java.time API temelleri
Mevcut
JDK 8'den (Mart 2014) itibaren geniş çapta kullanılabilir
Nasıl çalışır
java.time; LocalDate, LocalTime, LocalDateTime, Instant, ZonedDateTime sağlar — hepsi değişmez ve thread-safe'dir. Aylar 1'den başlar. Artık Calendar.JANUARY = 0 karışıklığı yok.
İlgili Belgeler