Java Academy · Les

Instant en Duration

Machinetijd en intervallen

Les 2 van 413 stappen

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:

  • Instant is een nauwkeurig punt op de UTC-tijdlijn vanaf het epoch van 1970
  • Duration is een tijdsgebaseerde hoeveelheid die je met ofHours en vergelijkbare methoden maakt
  • Duration.between meet verstreken tijd
  • Verschuif tijdstippen met plus en minus
  • Gebruik Instant voor tijdstempels en LocalDateTime voor menselijke datums
Gratis beginnen

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

  1. LocalDate, LocalTime, LocalDateTime
  2. Instant en Duration
  3. Period en datumrekenen
  4. Formatteren met DateTimeFormatter
← Terug naar Java Academy