Instant ve Duration
Makine zamanı ve aralıklar
Instant ve Duration, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 4 dersten oluşur.
Makine Zamanı
LocalDateTime insanlar için kullanılan takvimleri temsil ederken, Instant makine zaman çizelgesindeki kesin bir noktayı temsil eder; bu nokta UTC'deki 1970-01-01 başlangıcından itibaren ölçülür.
Duration, iki an arasındaki zaman uzunluğunu temsil eder.
Anlık Zaman Oluşturma
Instant.now() geçerli anı yakalar. Öngörülebilir bir çıktı için ofEpochSecond ile sabit bir dönem saniyesinden bir tane oluşturabiliriz.
import java.time.Instant;
public class Main {
public static void main(String[] args) {
Instant fixed = Instant.ofEpochSecond(1000000000);
System.out.println(fixed);
}
}Dönem Saniyeleri ve Milisaniyeler
Temel dönem değerlerini getEpochSecond ve toEpochMilli ile okuyabilirsiniz. Bunlar zaman damgaları ve depolama için kullanışlıdır.
import java.time.Instant;
public class Main {
public static void main(String[] args) {
Instant t = Instant.ofEpochSecond(1500000000);
System.out.println(t.getEpochSecond());
System.out.println(t.toEpochMilli());
}
}Süre Oluşturma
Duration değerini ofHours, ofMinutes ve ofSeconds gibi fabrika yöntemleriyle oluşturun.
import java.time.Duration;
public class Main {
public static void main(String[] args) {
Duration d = Duration.ofMinutes(90);
System.out.println(d);
System.out.println(d.toHours());
}
}Anlar Arasındaki Süre
Duration.between, iki an arasındaki farkı ölçer. Bir işlemin ne kadar sürdüğünü ölçmenin standart yolu budur.
import java.time.Duration;
import java.time.Instant;
public class Main {
public static void main(String[] args) {
Instant start = Instant.ofEpochSecond(1000);
Instant end = Instant.ofEpochSecond(1075);
Duration elapsed = Duration.between(start, end);
System.out.println(elapsed.getSeconds());
}
}Süreleri Dönüştürme
Bir Duration değerini toMinutes, toHours, toDays ve toMillis ile farklı birimlerde ifade edebilirsiniz.
import java.time.Duration;
public class Main {
public static void main(String[] args) {
Duration d = Duration.ofSeconds(7320);
System.out.println(d.toMinutes());
System.out.println(d.toHours());
}
}Anlık Zamana Ekleme
Bir Duration geçirerek plus ve minus ile anı ileriye veya geriye kaydırın.
import java.time.Duration;
import java.time.Instant;
public class Main {
public static void main(String[] args) {
Instant now = Instant.ofEpochSecond(1000);
Instant later = now.plus(Duration.ofHours(2));
System.out.println(later.getEpochSecond());
}
}Ekleme Yardımcı Yöntemleri
plusSeconds ve plusMillis gibi kolaylık yöntemleri, basit kaydırmalar için ayrıca bir süre oluşturmanızı gerektirmez.
import java.time.Instant;
public class Main {
public static void main(String[] args) {
Instant t = Instant.ofEpochSecond(0);
System.out.println(t.plusSeconds(3600).getEpochSecond());
}
}Anları Karşılaştırma
Zaman çizelgesindeki iki anı sıralamak için isBefore ve isAfter kullanın.
import java.time.Instant;
public class Main {
public static void main(String[] args) {
Instant a = Instant.ofEpochSecond(100);
Instant b = Instant.ofEpochSecond(200);
System.out.println(a.isBefore(b));
}
}Negatif Süreler
Bitiş başlangıçtan daha erkense süre negatiftir. Bunu ele almanıza isNegative ve abs yardımcı olur.
import java.time.Duration;
import java.time.Instant;
public class Main {
public static void main(String[] args) {
Duration d = Duration.between(Instant.ofEpochSecond(200), Instant.ofEpochSecond(100));
System.out.println(d.isNegative());
System.out.println(d.abs().getSeconds());
}
}Anlık Zaman ile LocalDateTime Karşılaştırması
Belirsizliği olmayan UTC zamanı olduğu için zaman damgaları, günlük kayıtları ve geçen süreyi ölçmek amacıyla anlık zamanı kullanın. Saat diliminin başka bir yerde ele alındığı, insanlara yönelik takvim değerleri için LocalDateTime kullanın.
Hızlı Kontrol
Anlık zaman ve süre kavramlarını ne kadar anladığınızı sınayın.
Özet
Makine zamanı hakkında bilgi edindiniz:
Instant, 1970 başlangıcından itibaren UTC zaman çizelgesindeki kesin bir noktadırDuration,ofHoursve benzeri yöntemlerle oluşturulan zaman tabanlı bir miktardırDuration.between, geçen süreyi ölçer- Anları
plusveminusile kaydırın - Zaman damgaları için anlık zamanı, insanlara yönelik tarihler için
LocalDateTimekullanın
Sıkça Sorulan Sorular
“Instant ve Duration” dersi ücretsiz mi?
Evet — “Instant ve Duration” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 4 dersten oluşur.
“Instant ve Duration” dersinde ne öğreneceğim?
Makine zamanı ve aralıklar Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Java Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Instant ve Duration” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- LocalDate, LocalTime, LocalDateTime
- Instant ve Duration
- Period ve Tarih Aritmetiği
- DateTimeFormatter ile Biçimlendirme