Period e aritmetica delle date
Sommi e sottragga date
Period e aritmetica delle date è una lezione Java Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Java Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Java Academy include 4 lezioni in totale.
Quantità basate sulle date
Mentre Duration misura il tempo in ore e secondi, Period misura quantità espresse in anni, mesi e giorni. È lo strumento corretto per i calcoli del calendario, come età e scadenze.
Aggiungere giorni
LocalDate offre plusDays per spostarsi in avanti. Ricordi che il risultato è un nuovo valore immutabile.
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));
}
}Aggiungere mesi e anni
plusMonths e plusYears spostano la data di unità più grandi e gestiscono correttamente la diversa durata dei mesi.
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));
}
}Sottrarre date
Utilizzi minusDays, minusWeeks e metodi simili per spostarsi indietro nel tempo.
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));
}
}Creare un Period
Crei un Period con of o con factory per una singola unità, come ofMonths, quindi lo aggiunga a una data.
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 tra due date
Period.between misura l'intervallo tra due date in anni, mesi e giorni.
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");
}
}Calcolare un'età
Un utilizzo classico di Period.between consiste nel calcolare l'età di una persona in anni interi.
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);
}
}Contare i giorni totali
Period suddivide l'intervallo in anni, mesi e giorni. Per ottenere un unico conteggio totale dei giorni, utilizzi invece 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);
}
}Flessibilità di ChronoUnit
ChronoUnit può contare usando molte unità: DAYS, WEEKS, MONTHS e YEARS. Ogni chiamata a between restituisce un singolo numero.
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));
}
}Trovare il giorno della settimana successivo
La classe TemporalAdjusters fornisce modifiche intelligenti, come il passaggio al primo giorno del mese successivo.
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 e ChronoUnit a confronto
Utilizzi Period quando desidera una suddivisione comprensibile in anni, mesi e giorni. Utilizzi ChronoUnit.between quando desidera un unico conteggio totale in una sola unità.
Verifica rapida
Verifichi le Sue competenze nell'aritmetica delle date.
Riepilogo
Ha imparato l'aritmetica delle date:
plusDays,plusMonthseplusYearsspostano le date in modo immutabilePeriodmisura anni, mesi e giorni ed è ideale per calcolare l'etàPeriod.betweenfornisce una suddivisione comprensibile dell'intervalloChronoUnit.betweenfornisce un unico totale nell'unità sceltaTemporalAdjustersgestisce spostamenti intelligenti, come il primo giorno del mese successivo
Domande Frequenti
La lezione «Period e aritmetica delle date» è gratuita?
Sì — il testo completo di «Period e aritmetica delle date» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Java Academy, passa a CoddyKit PRO. Il corso Java Academy include 4 lezioni in totale.
Cosa imparerò in «Period e aritmetica delle date»?
Sommi e sottragga date Eserciti Java Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Java Academy?
Non è richiesta alcuna esperienza precedente. Java Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Period e aritmetica delle date»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Java Academy?
Sì. Ogni lezione Java Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- LocalDate, LocalTime, LocalDateTime
- Instant e Duration
- Period e aritmetica delle date
- Formattazione con DateTimeFormatter