0Pricing
Java Academy · Lezione

Formattazione con DateTimeFormatter

Analizzi e formatti le date

Formattazione con DateTimeFormatter è una lezione Java Academy gratuita su CoddyKit. Questa è la lezione 4 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.

Convertire le date in testo

Il metodo toString predefinito di una data la stampa in formato ISO. Per controllare l'aspetto o analizzare testo non ISO, utilizzi DateTimeFormatter del package java.time.format.

Un pattern personalizzato

Crei un formatter con ofPattern. Le lettere rappresentano i campi: yyyy per l'anno, MM per il mese, dd per il giorno.

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2026, 5, 30);
        DateTimeFormatter f = DateTimeFormatter.ofPattern("dd/MM/yyyy");
        System.out.println(date.format(f));
    }
}

Formattare l'ora

I pattern per l'ora usano HH per le ore nel formato a 24 ore, mm per i minuti e ss per i secondi.

import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        LocalTime time = LocalTime.of(14, 5, 30);
        DateTimeFormatter f = DateTimeFormatter.ofPattern("HH:mm:ss");
        System.out.println(time.format(f));
    }
}

Combinare data e ora

Un pattern può includere sia i campi della data sia quelli dell'ora per un LocalDateTime.

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        LocalDateTime dt = LocalDateTime.of(2026, 5, 30, 9, 45);
        DateTimeFormatter f = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
        System.out.println(dt.format(f));
    }
}

Nomi dei mesi in formato testuale

Ripetere la lettera del mese ne modifica il formato: MM è un numero, MMM è un nome abbreviato come May e MMMM è il nome completo.

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2026, 5, 30);
        DateTimeFormatter f = DateTimeFormatter.ofPattern("dd MMMM yyyy", Locale.ENGLISH);
        System.out.println(date.format(f));
    }
}

Nomi dei giorni della settimana

Utilizzi EEEE per il nome completo del giorno della settimana e EEE per la forma abbreviata. Fornisca una Locale per ottenere una lingua prevedibile.

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2026, 5, 30);
        DateTimeFormatter f = DateTimeFormatter.ofPattern("EEEE, dd MMM", Locale.ENGLISH);
        System.out.println(date.format(f));
    }
}

Orologio a dodici ore

Utilizzi hh in minuscolo per le ore nel formato a 12 ore e a per l'indicatore AM o PM.

import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

public class Main {
    public static void main(String[] args) {
        LocalTime time = LocalTime.of(15, 30);
        DateTimeFormatter f = DateTimeFormatter.ofPattern("hh:mm a", Locale.ENGLISH);
        System.out.println(time.format(f));
    }
}

Analizzare con un pattern

Lo stesso formatter analizza il testo e lo riconverte in una data. Lo passi come secondo argomento a parse.

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        DateTimeFormatter f = DateTimeFormatter.ofPattern("dd/MM/yyyy");
        LocalDate date = LocalDate.parse("30/05/2026", f);
        System.out.println(date.getMonth());
    }
}

Gestire input non validi

Se il testo non corrisponde al pattern, l'analisi genera una DateTimeParseException. Racchiuda l'analisi soggetta a errori in un blocco try-catch.

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;

public class Main {
    public static void main(String[] args) {
        DateTimeFormatter f = DateTimeFormatter.ofPattern("dd/MM/yyyy");
        try {
            LocalDate.parse("not a date", f);
        } catch (DateTimeParseException e) {
            System.out.println("Invalid date format!");
        }
    }
}

Formatter predefiniti

Per le esigenze più comuni può evitare i pattern e utilizzare formatter predefiniti come DateTimeFormatter.ISO_DATE.

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2026, 5, 30);
        System.out.println(date.format(DateTimeFormatter.ISO_DATE));
    }
}

Riutilizzare i formatter

DateTimeFormatter è immutabile e thread-safe, quindi lo crei una sola volta e lo riutilizzi. Fornisca sempre una Locale quando sono presenti nomi, per mantenere uniforme l'output.

Verifica rapida

Verifichi la Sua conoscenza della formattazione.

Riepilogo

Ha imparato a formattare date e ore:

  • DateTimeFormatter.ofPattern definisce un output personalizzato
  • Le lettere corrispondono ai campi: yyyy, MM, dd, HH, mm
  • Un numero maggiore di lettere ripetute produce forme testuali come MMMM e EEEE
  • Lo stesso formatter analizza il testo e genera una DateTimeParseException in caso di input non valido
  • I formatter sono immutabili e riutilizzabili; passi una Locale per i nomi

Domande Frequenti

La lezione «Formattazione con DateTimeFormatter» è gratuita?

Sì — il testo completo di «Formattazione con DateTimeFormatter» è 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 «Formattazione con DateTimeFormatter»?

Analizzi e formatti le 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 4 di 4.

Quanto tempo richiede la lezione «Formattazione con DateTimeFormatter»?

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

  1. LocalDate, LocalTime, LocalDateTime
  2. Instant e Duration
  3. Period e aritmetica delle date
  4. Formattazione con DateTimeFormatter
← Torna a Java Academy