Creazione di una data locale con valori in Java

1. Panoramica

La creazione di una data in Java è stata ridefinita con l'avvento di Java 8. Inoltre, la nuova API Date & Time del pacchetto java.time può essere utilizzata con facilità rispetto a quella vecchia del pacchetto java.util . In questo tutorial vedremo come fa un'enorme differenza.

Il LocalDate classe dal java.time pacchetto ci aiuta a raggiungere questo obiettivo. LocalDate è una classe non modificabile thread-safe . Inoltre, un LocalDate può contenere solo valori di data e non può avere un componente ora .

Vediamo ora tutte le varianti per crearne uno con i valori.

2. Creare un personalizzata LocalDate con di ()

Diamo un'occhiata ad alcuni modi per creare un LocalDate che rappresenta l'8 gennaio 2020. Possiamo crearne uno passando i valori al metodo factory di :

LocalDate date = LocalDate.of(2020, 1, 8);

Il mese può essere specificato anche utilizzando l' enumerazione Month :

LocalDate date = LocalDate.of(2020, Month.JANUARY, 8)

Possiamo anche provare a ottenerlo usando il giorno dell'epoca:

LocalDate date = LocalDate.ofEpochDay(18269);

E infine, creiamone uno con i valori dell'anno e del giorno dell'anno:

LocalDate date = LocalDate.ofYearDay(2020, 8);

3. Creare un LocalDate analizzando una stringa

L'ultima opzione è creare una data analizzando una stringa. Possiamo utilizzare il metodo di analisi con un solo argomento per analizzare una data nel formato aaaa-mm-gg :

LocalDate date = LocalDate.parse("2020-01-08");

Possiamo anche specificare un modello diverso per ottenerne uno utilizzando la classe DateTimeFormatter come secondo parametro del metodo di analisi :

LocalDate date = LocalDate.parse("8-Jan-2020", DateTimeFormatter.ofPattern("d-MMM-yyyy"));

4. Conclusione

In questo articolo, abbiamo visto tutte le varianti della creazione di un LocalDate con valori in Java . Gli articoli sull'API di data e ora possono aiutarci a capire di più.

Gli esempi sono disponibili su GitHub.