Java 8 Date Time API – DateTimeFormatterBuilder-Beispiel

Neben Lambda-Ausdrücken, virtuellen Methoden, Streams und vielen anderen netten Funktionen hat Java 8 auch ein neues Update erhalten Datums- und Uhrzeit-API die unter der gepflegt wird JSR-310. Einer der größten Vorteile dieser neuen API besteht darin, dass alle datums- und zeitbezogenen APIs im selben Paket java.time zusammengefasst sind.

In meinen vorherigen Artikeln habe ich LocalDate, LocalTime und einige andere APIs erläutert, die mit der Java 8-Version eingeführt wurden. Dieses Beispiel zeigt die Verwendung DateTimeFormatterBuilder Klasse.

Wenn Sie Fragen haben, schreiben Sie diese bitte in den Kommentarbereich oder posten Sie sie auf unserer Facebook-Seite. Weitere Artikel zu Java 8 können Sie hier lesen.

Java DateTimeFormatterBuilder

In meinem vorherigen Artikel habe ich die Java DateTimeFormatter-Klasse erläutert. Dies ist die am häufigsten verwendete Formatierungsklasse für die einfache Formatierung von Datums-/Uhrzeitwerten. Was passiert, wenn Sie versuchen, Ihr eigenes benutzerdefiniertes formatiertes Objekt zu erstellen? Java 8 definiert eine weitere Klasse DateTimeFormatterBuilder im java.time.format Paket zum Erstellen der benutzerdefinierten formatierten Objekte. Tatsächlich werden alle DateTimeFormatter-Objekte mit dieser Klasse erstellt.

DateTimeFormatterBuilder definiert mehrere Methoden wie appendInstant(),appendLiteral(),appendPattern()usw. zum Ändern des vorhandenen Musters und gibt das neue DateTimeFormatter-Objekt zurück. Dieses Beispiel zeigt, wie DateTimeFormatterBuilder zum Erstellen/Ändern der Muster verwendet wird.

DateTimeFormatterBuilder – Methoden

  • appendLiteral(String-Literal) – Diese Methode hängt ein Zeichenfolgenliteral an das Formatierungsobjekt an. Dieses String-Literal wird beim Drucken des Ergebnisses ausgegeben. Dieses Zeichenfolgenliteral kann an einer beliebigen Stelle in der formatierten Zeichenfolge hinzugefügt werden
  • appendValue(TemporalField-Feld) – Diese Methode hängt die Datums-/Uhrzeitwerte an den Formatierer an. Dies beinhaltet auch überladene Methoden mit wenigen zusätzlichen Argumenten, um mehr Flexibilität zu bieten.
  • append(DateTimeFormatter Formatter) – Diese Methode ähnelt dem Anhängen des gesamten Inhalts des vorhandenen Formatierers an den Builder.
  • appendZoneId() – Diese Methode hängt die Zonen-ID an den Formatierer an.
  • parseCaseSensitive() – Diese Methode ändert die Analyse auf Groß-/Kleinschreibung.
  • toFormatter() – Dies ist der letzte Schritt/die letzte Methode, die zum Erstellen des DateTimeFormatter-Objekts aufgerufen werden sollte. Diese Methode hängt alle dem Formatierer hinzugefügten Werte an und erstellt ein neues Formatiererobjekt.

DateTimeFormatterBuilder – Beispiel

package javabeat.net;

import java.time.LocalDate;
import java.time.Month;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.time.format.TextStyle;
import java.time.temporal.ChronoField;

/**
 * Java 8 Date Time API - DateTimeFormatterBuilder Example
 *
 * @author www.javabeat.net
 *
 */
public class DateTimeFormatterBuilderExample {

	public static void main(String[] args) {
		DateTimeFormatter formatter = new DateTimeFormatterBuilder()
				.appendLiteral("New Year in ").appendValue(ChronoField.YEAR)
				.appendLiteral(" is  on  ")
				.appendText(ChronoField.DAY_OF_WEEK, TextStyle.FULL_STANDALONE)
				.toFormatter();
		LocalDate localDate1 = LocalDate.of(2015, Month.JANUARY, 1);
		LocalDate localDate2 = LocalDate.of(2016, Month.JANUARY, 1);
		LocalDate localDate3 = LocalDate.of(2017, Month.JANUARY, 1);
		String formattedString1 = localDate1.format(formatter);
		String formattedString2 = localDate2.format(formatter);
		String formattedString3 = localDate3.format(formatter);
		System.out.println("DateTimeFormatterBuilder Demo");
		System.out.println("-----------------------------");

		System.out.println(formattedString1);
		System.out.println(formattedString2);
		System.out.println(formattedString3);

	}

}

Die Ausgabe für das obige Programm lautet:

DateTimeFormatterBuilder Demo
-----------------------------
New Year in 2015 is  on  Thursday
New Year in 2016 is  on  Friday
New Year in 2017 is  on  Sunday

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen