Erstellen eines LocalDate mit Werten in Java

1. Übersicht

Das Erstellen eines Datums in Java wurde mit dem Aufkommen von Java 8 neu definiert. Außerdem kann die neue Datums- und Uhrzeit-API aus dem Paket java.time im Vergleich zur alten API aus dem Paket java.util problemlos verwendet werden . In diesem Tutorial werden wir sehen, wie es einen großen Unterschied macht.

Die LocalDate- Klasse aus dem Paket java.time hilft uns dabei. LocalDate ist eine unveränderliche, threadsichere Klasse . Darüber hinaus ist ein LOCALDATE können nur Datumswerte halten und nicht eine Zeitkomponente haben kann .

Lassen Sie uns nun alle Varianten der Erstellung einer mit Werten sehen.

2. Erstellen Sie ein benutzerdefiniertes lokales Datum mit ()

Schauen wir uns ein paar Möglichkeiten, die Schaffung eines LOCALDATE darstellt 8. Januar 2020 Wir sind einer von Werten in die Fabrik - Methode übergeben erstellen von :

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

Der Monat kann auch den angegeben wird Monat Enum:

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

Wir können auch versuchen, es mit dem Epochentag zu bekommen:

LocalDate date = LocalDate.ofEpochDay(18269);

Und zum Schluss erstellen wir eine mit den Werten für Jahr und Tag des Jahres:

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

3. a Erstellen LOCALDATE einen von Parsing String

Die letzte Option besteht darin, ein Datum durch Parsen einer Zeichenfolge zu erstellen. Wir können die Analysemethode mit nur einem einzigen Argument verwenden, um ein Datum im Format JJJJ-MM-TT zu analysieren :

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

Wir können auch ein anderes Muster angeben , eines zu bekommen mit der DateTimeFormatter Klasse , die als zweiten Parameter der Parse - Methode:

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

4. Fazit

In diesem Artikel haben wir alle Varianten zum Erstellen eines LocalDate mit Werten in Java gesehen . Die Artikel zur Datums- und Uhrzeit-API können uns helfen, mehr zu verstehen.

Die Beispiele sind auf GitHub verfügbar.