Instant dan Duration
Waktu mesin dan interval
Instant dan Duration adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Java Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Java Academy mencakup 4 pelajaran total.
Waktu Mesin
Jika LocalDateTime digunakan untuk kalender manusia, instan merepresentasikan titik yang tepat pada garis waktu mesin, diukur dari titik awal tahun 1970-01-01 dalam UTC.
Durasi merepresentasikan lamanya waktu antara dua instan.
Membuat Instan
Instant.now() menangkap saat ini. Agar keluarannya dapat diprediksi, kita dapat membuatnya dari detik epoch tetap dengan ofEpochSecond.
import java.time.Instant;
public class Main {
public static void main(String[] args) {
Instant fixed = Instant.ofEpochSecond(1000000000);
System.out.println(fixed);
}
}Detik dan Milidetik sejak Titik Awal
Anda dapat membaca nilai epoch yang mendasarinya dengan getEpochSecond dan toEpochMilli. Nilai-nilai ini berguna untuk stempel waktu dan penyimpanan.
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());
}
}Membuat Durasi
Buat durasi dengan metode pembuat seperti ofHours, ofMinutes, dan ofSeconds.
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());
}
}Durasi antara Instan
Duration.between mengukur selang antara dua instan. Inilah cara standar untuk mengukur berapa lama sesuatu berlangsung.
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());
}
}Mengonversi Durasi
Durasi dapat menyatakan dirinya dalam satuan yang berbeda dengan toMinutes, toHours, toDays, dan toMillis.
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());
}
}Menambahkan pada Instan
Geser instan ke depan atau ke belakang dengan plus dan minus, menggunakan durasi sebagai argumennya.
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());
}
}Metode Pembantu Plus
Metode praktis seperti plusSeconds dan plusMillis memungkinkan Anda melewati pembuatan durasi untuk pergeseran sederhana.
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());
}
}Membandingkan Instan
Gunakan isBefore dan isAfter untuk menentukan urutan dua instan pada garis waktu.
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));
}
}Durasi Negatif
Jika waktu akhir lebih awal daripada waktu mulai, durasinya bernilai negatif. isNegative dan abs membantu Anda menanganinya.
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());
}
}Instan dibandingkan LocalDateTime
Gunakan instan untuk stempel waktu, pencatatan, dan pengukuran waktu berlalu karena nilainya tidak ambigu dalam UTC. Gunakan LocalDateTime untuk nilai kalender manusia ketika zona waktu ditangani di tempat lain.
Pemeriksaan Singkat
Uji pemahaman Anda tentang instan dan durasi.
Ringkasan
Anda telah mempelajari waktu mesin:
- Instan adalah titik yang tepat pada garis waktu UTC sejak titik awal tahun 1970
- Durasi adalah besaran berbasis waktu yang dibuat dengan
ofHoursdan metode sejenis Duration.betweenmengukur waktu yang telah berlalu- Geser instan dengan
plusdanminus - Gunakan instan untuk stempel waktu dan
LocalDateTimeuntuk tanggal manusia
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Instant dan Duration” gratis?
Ya — teks lengkap “Instant dan Duration” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Java Academy, upgrade ke CoddyKit PRO. Kursus Java Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Instant dan Duration”?
Waktu mesin dan interval Kamu berlatih Java Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Java Academy?
Tidak diperlukan pengalaman sebelumnya. Java Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Instant dan Duration” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Java Academy ini?
Ya. Setiap pelajaran Java Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- LocalDate, LocalTime, LocalDateTime
- Instant dan Duration
- Period dan Aritmetika Tanggal
- Memformat dengan DateTimeFormatter