Instant en Duration
Machinetijd en intervallen
Instant en Duration is een gratis Java Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Java Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Java Academy bevat in totaal 4 lessen.
Machinetijd
Waar LocalDateTime bedoeld is voor menselijke kalenders, vertegenwoordigt Instant een nauwkeurig punt op de machinetijdlijn, gemeten vanaf het epoch van 1970-01-01 in UTC.
Duration vertegenwoordigt een tijdsduur tussen twee tijdstippen.
Een Instant maken
Instant.now() legt het huidige moment vast. Voor voorspelbare uitvoer kunnen we er met ofEpochSecond een maken op basis van een vast aantal epochseconden.
import java.time.Instant;
public class Main {
public static void main(String[] args) {
Instant fixed = Instant.ofEpochSecond(1000000000);
System.out.println(fixed);
}
}Epochseconden en milliseconden
Je kunt de onderliggende epochwaarden uitlezen met getEpochSecond en toEpochMilli. Deze zijn handig voor tijdstempels en opslag.
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());
}
}Een Duration maken
Maak een Duration met fabrieksmethoden zoals ofHours, ofMinutes en 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());
}
}Duration tussen tijdstippen
Duration.between meet het verschil tussen twee tijdstippen. Dit is de standaardmanier om te meten hoe lang iets duurde.
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());
}
}Durations omrekenen
Een Duration kan zichzelf in verschillende eenheden rapporteren met toMinutes, toHours, toDays en 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());
}
}Een Instant optellen
Verschuif een tijdstip vooruit of achteruit met plus en minus, waarbij je een Duration meegeeft.
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());
}
}Handige plusmethoden
Handige methoden zoals plusSeconds en plusMillis zorgen ervoor dat je voor eenvoudige verschuivingen geen Duration hoeft te maken.
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());
}
}Tijdstippen vergelijken
Gebruik isBefore en isAfter om twee tijdstippen op de tijdlijn te ordenen.
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));
}
}Negatieve Durations
Als het einde eerder valt dan het begin, is de tijdsduur negatief. isNegative en abs helpen je hiermee om te gaan.
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());
}
}Instant tegenover LocalDateTime
Gebruik Instant voor tijdstempels, logboekregistratie en het meten van verstreken tijd, omdat het eenduidig UTC is. Gebruik LocalDateTime voor menselijke kalenderwaarden waarbij de tijdzone elders wordt afgehandeld.
Korte controle
Toets hoe goed je Instant en Duration begrijpt.
Samenvatting
Je hebt machinetijd geleerd:
Instantis een nauwkeurig punt op de UTC-tijdlijn vanaf het epoch van 1970Durationis een tijdsgebaseerde hoeveelheid die je metofHoursen vergelijkbare methoden maaktDuration.betweenmeet verstreken tijd- Verschuif tijdstippen met
plusenminus - Gebruik
Instantvoor tijdstempels enLocalDateTimevoor menselijke datums
Leer Java met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 104
- Lessen
- 374
Veelgestelde vragen
Is de les “Instant en Duration” gratis?
Ja — de volledige tekst van “Instant en Duration” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Java Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Java Academy bevat in totaal 4 lessen.
Wat leer ik in “Instant en Duration”?
Machinetijd en intervallen Je oefent met Java Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Java Academy te beginnen?
Ervaring vooraf is niet nodig. Java Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Instant en Duration”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Java Academy?
Ja. Elke les over Java Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- LocalDate, LocalTime, LocalDateTime
- Instant en Duration
- Period en datumrekenen
- Formatteren met DateTimeFormatter