{"id":243,"date":"2024-02-24T23:06:07","date_gmt":"2024-02-24T22:06:07","guid":{"rendered":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/?p=243"},"modified":"2024-02-28T23:06:48","modified_gmt":"2024-02-28T22:06:48","slug":"der-datetimeformatter-in-java-8","status":"publish","type":"post","link":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/?p=243","title":{"rendered":"Der DateTimeFormatter in Java 8+"},"content":{"rendered":"\n<p>Java 8 brachte eine Vielzahl von Neuerungen mit sich, die die Art und Weise, wie Datum und Uhrzeit in Java behandelt werden, revolutionierten. Eine der herausragenden Funktionen war die Einf\u00fchrung der DateTime API, die Entwicklern leistungsf\u00e4hige Werkzeuge zur Verf\u00fcgung stellt, um mit Datum und Uhrzeit in Java-Anwendungen umzugehen. Der DateTimeFormatter ist ein zentraler Bestandteil dieser API und bietet eine flexible M\u00f6glichkeit, Datums- und Zeitwerte zu formatieren und zu parsen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Grundlagen des DateTimeFormatter<\/h3>\n\n\n\n<p>Der DateTimeFormatter erm\u00f6glicht die Umwandlung von DateTime-Objekten in einen menschenlesbaren Text und umgekehrt. Er basiert auf dem bew\u00e4hrten Konzept der Formatierungsmuster, die spezifizieren, wie Datums- und Uhrzeitinformationen dargestellt werden sollen. Ein Formatierungsmuster besteht aus verschiedenen Buchstaben, die bestimmten Feldern entsprechen, wie zum Beispiel &#8222;y&#8220; f\u00fcr das Jahr oder &#8222;M&#8220; f\u00fcr den Monat.<\/p>\n\n\n\n<p>Hier ist ein einfaches Beispiel:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">LocalDateTime now = LocalDateTime.now();\nDateTimeFormatter formatter = DateTimeFormatter.ofPattern(<span class=\"hljs-string\">\"yyyy-MM-dd HH:mm:ss\"<\/span>);\n<span class=\"hljs-built_in\">String<\/span> formattedDateTime = now.format(formatter);\nSystem.out.println(formattedDateTime);<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>In diesem Beispiel wird die aktuelle Zeit in einem definierten Format (Jahr-Monat-Tag Stunde:Minute:Sekunde) ausgegeben. Das Formatierungsmuster &#8222;yyyy-MM-dd HH:mm:ss&#8220; gibt an, dass das Jahr als vierstellige Zahl, der Monat als zweistellige Zahl, der Tag als zweistellige Zahl und die Stunden, Minuten und Sekunden ebenfalls als zweistellige Zahlen dargestellt werden sollen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Die Bedeutung der Buchstaben im Formatierungsmuster<\/h3>\n\n\n\n<p>Der DateTimeFormatter verwendet verschiedene Buchstaben im Formatierungsmuster, um die verschiedenen Teile des Datums und der Uhrzeit darzustellen. Hier sind einige der h\u00e4ufig verwendeten Buchstaben:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>y<\/code>: Jahr (Jahrhundert wird je nach Anzahl der y-Zeichen dargestellt)<\/li>\n\n\n\n<li><code>M<\/code>: Monat (1-12)<\/li>\n\n\n\n<li><code>d<\/code>: Tag des Monats (1-31)<\/li>\n\n\n\n<li><code>H<\/code>: Stunde des Tages im 24-Stunden-Format (0-23)<\/li>\n\n\n\n<li><code>m<\/code>: Minute (0-59)<\/li>\n\n\n\n<li><code>s<\/code>: Sekunde (0-59)<\/li>\n<\/ul>\n\n\n\n<p>Es gibt auch andere Buchstaben f\u00fcr spezifischere Anforderungen, wie zum Beispiel <code>E<\/code> f\u00fcr den Wochentag oder <code>z<\/code> f\u00fcr die Zeitzone.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Lokalisierung und DateTimeFormatter<\/h3>\n\n\n\n<p>Ein weiteres leistungsstarkes Merkmal des DateTimeFormatter ist seine F\u00e4higkeit zur Lokalisierung. Dies bedeutet, dass Sie das Formatierungsmuster an die kulturellen Konventionen eines bestimmten Ortes anpassen k\u00f6nnen. Zum Beispiel kann das Datum im amerikanischen Format &#8222;MM\/dd\/yyyy&#8220; dargestellt werden, w\u00e4hrend es im deutschen Format &#8222;dd.MM.yyyy&#8220; dargestellt wird.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">LocalDate date = LocalDate.now();\nDateTimeFormatter germanFormatter = DateTimeFormatter.ofPattern(<span class=\"hljs-string\">\"dd.MM.yyyy\"<\/span>);\n<span class=\"hljs-built_in\">String<\/span> formattedDate = date.format(germanFormatter);\nSystem.out.println(formattedDate);<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>In diesem Beispiel wird das aktuelle Datum im deutschen Format ausgegeben. Beachten Sie, dass Sie den DateTimeFormatter mit einer bestimmten Locale erstellen k\u00f6nnen, um sicherzustellen, dass die Lokalisierung korrekt ist.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">DateTimeFormatter germanFormatter = DateTimeFormatter.ofPattern(<span class=\"hljs-string\">\"dd.MM.yyyy\"<\/span>, Locale.GERMANY);<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Parsing mit dem DateTimeFormatter<\/h3>\n\n\n\n<p>Neben der Formatierung erm\u00f6glicht der DateTimeFormatter auch das Parsen von Text in ein DateTime-Objekt. Dies ist besonders n\u00fctzlich, wenn Sie Benutzereingaben in Ihr Programm aufnehmen m\u00fcssen.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-built_in\">String<\/span> dateText = <span class=\"hljs-string\">\"2024-02-28\"<\/span>;\nDateTimeFormatter formatter = DateTimeFormatter.ofPattern(<span class=\"hljs-string\">\"yyyy-MM-dd\"<\/span>);\nLocalDate parsedDate = LocalDate.parse(dateText, formatter);\nSystem.out.println(parsedDate);<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>In diesem Beispiel wird der Text &#8222;2024-02-28&#8220; in ein LocalDate-Objekt umgewandelt. Beachten Sie, dass das Formatierungsmuster im Parsen mit dem Muster des Eingabetexts \u00fcbereinstimmen muss.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Vordefinierte DateTimeFormatter<\/h3>\n\n\n\n<p>Java 8 stellt auch vordefinierte DateTimeFormatter bereit, um h\u00e4ufig verwendete Formate zu erleichtern. Zum Beispiel gibt es <code>DateTimeFormatter.ISO_DATE<\/code> f\u00fcr das ISO-Format &#8222;yyyy-MM-dd&#8220; und <code>DateTimeFormatter.ISO_DATE_TIME<\/code> f\u00fcr das ISO-Format mit Datum und Uhrzeit &#8222;yyyy-MM-ddTHH:mm:ss&#8220;.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">LocalDateTime now = LocalDateTime.now();\n<span class=\"hljs-built_in\">String<\/span> isoDateTime = now.format(DateTimeFormatter.ISO_DATE_TIME);\nSystem.out.println(isoDateTime);<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Fazit<\/h3>\n\n\n\n<p>Der DateTimeFormatter in Java 8 ist ein leistungsstarkes Werkzeug f\u00fcr die Arbeit mit Datums- und Uhrzeitwerten. Seine Flexibilit\u00e4t, das einfache Erstellen benutzerdefinierter Formatierungsmuster, die Lokalisierungsf\u00e4higkeiten und die Unterst\u00fctzung des Parsens machen ihn zu einem unverzichtbaren Bestandteil der DateTime API. Entwickler k\u00f6nnen damit Datums- und Uhrzeitinformationen auf effiziente Weise in ihren Anwendungen verwalten und pr\u00e4sentieren.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Java 8 brachte eine Vielzahl von Neuerungen mit sich, die die Art und Weise, wie Datum und Uhrzeit in Java behandelt werden, revolutionierten. Eine der herausragenden Funktionen war die Einf\u00fchrung der DateTime API, die Entwicklern leistungsf\u00e4hige Werkzeuge zur Verf\u00fcgung stellt, um mit Datum und Uhrzeit in Java-Anwendungen umzugehen. Der DateTimeFormatter ist ein zentraler Bestandteil dieser [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-243","post","type-post","status-publish","format-standard","hentry","category-plain_java"],"_links":{"self":[{"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/posts\/243","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=243"}],"version-history":[{"count":1,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/posts\/243\/revisions"}],"predecessor-version":[{"id":244,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/posts\/243\/revisions\/244"}],"wp:attachment":[{"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=243"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=243"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=243"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}