0Pricing
Java Academy · Ders

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ır
  • Duration, ofHours ve benzeri yöntemlerle oluşturulan zaman tabanlı bir miktardır
  • Duration.between, geçen süreyi ölçer
  • Anları plus ve minus ile kaydırın
  • Zaman damgaları için anlık zamanı, insanlara yönelik tarihler için LocalDateTime kullanı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

  1. LocalDate, LocalTime, LocalDateTime
  2. Instant ve Duration
  3. Period ve Tarih Aritmetiği
  4. DateTimeFormatter ile Biçimlendirme
← Java Academy Sayfasına Dön