Period og datoregneregler
Læg datoer sammen og træk fra
Period og datoregneregler er en gratis Java Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Java Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Java Academy-kurset indeholder 4 lektioner i alt.
Tidsmængder baseret på datoer
Mens Duration måler tid i timer og sekunder, måler Period mængder i år, måneder og dage. Det er det rigtige værktøj til kalenderberegninger som alder og frister.
Tilføjelse af dage
LocalDate tilbyder plusDays til at gå fremad. Husk, at resultatet er en ny, uforanderlig værdi.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate start = LocalDate.of(2026, 5, 30);
System.out.println(start.plusDays(10));
}
}Tilføjelse af måneder og år
plusMonths og plusYears forskyder med større enheder og håndterer korrekt forskelle i månedernes længde.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate start = LocalDate.of(2026, 1, 31);
System.out.println(start.plusMonths(1));
System.out.println(start.plusYears(2));
}
}Fratrækning af datoer
Brug minusDays, minusWeeks og lignende metoder til at gå tilbage i tiden.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.of(2026, 5, 30);
System.out.println(date.minusWeeks(2));
}
}Oprettelse af en Period
Opret en Period med of eller fabriksmetoder for en enkelt enhed som ofMonths, og føj den derefter til en dato.
import java.time.LocalDate;
import java.time.Period;
public class Main {
public static void main(String[] args) {
Period p = Period.of(1, 2, 3);
LocalDate date = LocalDate.of(2026, 1, 1);
System.out.println(date.plus(p));
}
}Period mellem datoer
Period.between måler tidsforskellen mellem to datoer som år, måneder og dage.
import java.time.LocalDate;
import java.time.Period;
public class Main {
public static void main(String[] args) {
LocalDate from = LocalDate.of(2020, 1, 15);
LocalDate to = LocalDate.of(2026, 5, 30);
Period p = Period.between(from, to);
System.out.println(p.getYears() + "y " + p.getMonths() + "m " + p.getDays() + "d");
}
}Beregning af alder
En klassisk anvendelse af Period.between er at beregne en persons alder i hele år.
import java.time.LocalDate;
import java.time.Period;
public class Main {
public static void main(String[] args) {
LocalDate birth = LocalDate.of(2000, 6, 15);
LocalDate today = LocalDate.of(2026, 5, 30);
int age = Period.between(birth, today).getYears();
System.out.println(age);
}
}Optælling af det samlede antal dage
Period opdeler tidsforskellen i år, måneder og dage. Hvis du vil have ét samlet antal dage, skal du i stedet bruge ChronoUnit.DAYS.between.
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class Main {
public static void main(String[] args) {
LocalDate from = LocalDate.of(2026, 1, 1);
LocalDate to = LocalDate.of(2026, 12, 31);
long days = ChronoUnit.DAYS.between(from, to);
System.out.println(days);
}
}ChronoUnits fleksibilitet
ChronoUnit kan tælle i mange enheder: DAYS, WEEKS, MONTHS og YEARS. Hvert kald til between returnerer ét tal.
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class Main {
public static void main(String[] args) {
LocalDate from = LocalDate.of(2026, 1, 1);
LocalDate to = LocalDate.of(2026, 12, 31);
System.out.println(ChronoUnit.WEEKS.between(from, to));
System.out.println(ChronoUnit.MONTHS.between(from, to));
}
}Finde næste ugedag
Klassen TemporalAdjusters tilbyder intelligente justeringer, f.eks. at springe frem til den første dag i næste måned.
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.of(2026, 5, 30);
System.out.println(date.with(TemporalAdjusters.firstDayOfNextMonth()));
}
}Period kontra ChronoUnit
Brug Period, når du ønsker en letforståelig opdeling i år, måneder og dage. Brug ChronoUnit.between, når du ønsker ét samlet antal i én enhed.
Hurtig kontrol
Kontrollér dine færdigheder i datoberegning.
Opsamling
Du har lært datoberegning:
plusDays,plusMonthsogplusYearsforskyder datoer uforanderligtPeriodmåler år, måneder og dage og er ideel til alderPeriod.betweengiver en letforståelig opdeling af tidsforskellenChronoUnit.betweengiver ét samlet antal i en valgt enhedTemporalAdjustershåndterer intelligente spring som den første dag i næste måned
Lær Java med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 104
- Lektioner
- 374
Ofte stillede spørgsmål
Er lektionen “Period og datoregneregler” gratis?
Ja — hele teksten til “Period og datoregneregler” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Java Academy-kurset, skal du opgradere til CoddyKit PRO. Java Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Period og datoregneregler”?
Læg datoer sammen og træk fra Du øver dig i Java Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Java Academy?
Der kræves ingen tidligere erfaring. Java Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “Period og datoregneregler”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Java Academy-lektion?
Ja. Alle Java Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- LocalDate, LocalTime, LocalDateTime
- Instant og Duration
- Period og datoregneregler
- Formatering med DateTimeFormatter