Inhaltsverzeichnis
Die Arbeit mit Daten war schon immer ein Wendepunkt in der Karriere von Programmierern. Dies liegt zum Teil daran, dass in früheren Versionen von Java es war ein bisschen verwirrend und inkonsistent. In der neuen Version a API Dadurch können wir mit klareren und einfacher zu verwendenden Methoden das Beste aus der Sprache herausholen.Das macht die Arbeit mit Datums- und Zeitformate In Java sei keine Folter. Dazu müssen wir die neuen Formen und Möglichkeiten studieren, die uns die Sprache bietet, mit dem Ziel, einen der Punkte, der die meisten Verwirrung erzeugt, in etwas zu verwandeln, das wir richtig beherrschen.
Um die Arbeit zu vereinfachen, hat das Entwicklungsteam von Java hat uns eine Reihe gängiger Methoden zur Verfügung gestellt, die wir sowohl bei der Arbeit mit Termine, wie wenn wir mit arbeiten Std. Dadurch wird der Lernaufwand geringer, da sich beide Objekttypen ähnlich verhalten.
Wir werden im Folgenden einige der Methoden auflisten, die am meisten auffallen, zusammen mit einer kleinen Erklärung, wofür wir sie verwenden können, damit wir später eine allgemeine Vorstellung haben, wenn wir zum praktischen Teil gehen.
beiDiese Methode ermöglicht es uns, das Objekt, das es aufruft, mit einem anderen Objekt zu kombinieren.
FormatEs ermöglicht uns, einige Parameter zu verwenden, um als Ergebnis ein Datum oder eine Uhrzeit mit einem bestimmten Format zu erzeugen, das wir benötigen.
bekommenEs ermöglicht uns, ein von uns angegebenes Element zu erhalten.
istEs ermöglicht uns zu überprüfen, ob ein Objekt von dem Typ ist, mit dem wir den Vergleich durchführen.
PlusEs gibt uns die Möglichkeit, dem Objekt, das es aufruft, eine Ergänzung hinzuzufügen und eine Kopie davon mit dem bereits hinzugefügten Wert zurückzugeben.
zuEs ermöglicht uns, eine Umwandlung von einem Typ in einen anderen vorzunehmen.
Mit diesem Wissen können wir nun zu anderen Themen innerhalb desselben Themas von Daten und Uhrzeiten in übergehen Java.
Wie wir die Formulare erklärt haben, die in Java Jetzt haben sie sich für die neue Version geändert, deshalb benötigen wir zur Wiederholung der Beispiele, die wir geben werden, Version 8 des Sprachentwicklungskits, sonst erhalten wir eine Fehlermeldung wie die folgende:
Dazu erstellen wir eine Klasse, in der wir Objekte des Typs instanziieren LocalDate, Ortszeit Ja LocalDateTime. Jeder von ihnen gibt uns jeweils das aktuelle Datum, die aktuelle Uhrzeit und das aktuelle Datum und die aktuelle Uhrzeit an.
Dies ist sehr nützlich in Fällen wie Systemprotokolle, wo wir den genauen Moment festhalten müssen, in dem eine Aktion ausgeführt wird oder ein Ereignis eintritt, das wir aufzeichnen möchten. Um das Ziel zu erreichen, können wir einen Code ähnlich dem folgenden erstellen:
java.time importieren *; öffentliche Klasse CurrentDate {öffentliche statische void main (String [] args) {LocalDate currentDate = LocalDate.now (); System.out.println (aktuelles Datum); LocalTime currentTime = LocalTime.now (); System.out.println (aktuelle Zeit); LocalDateTime jetzt = LocalDateTime.now (); System.out.println (jetzt); }}
Wie wir sehen, deklarieren wir nur unsere Objekte der oben genannten Typen und weisen ihnen den Wert zu, der mit der Methode zurückgegeben wird jetzt (), die wirklich für die Angabe des aktuellen Datums und der Uhrzeit verantwortlich ist, kümmern wir uns nur um das Drucken jedes der deklarierten Objekte.
WichtigEs ist sehr wichtig, das Paket beizufügen java.time vollständig, damit wir auf alle von uns verwendeten Funktionen zugreifen können, auch wenn wir Zweifel in der offiziellen Dokumentation haben, können wir weitere Details zu den Optionen derselben finden.
Sehen wir uns an, wie die Ausführung unseres Programms aussieht:
Abhängig von der Anwendung, die wir entwickeln, möchten wir den Monat nach seiner Nummer im Kalender oder nach seinem Namen anzeigen, aber der Name kann vollständig oder abgekürzt sowie der Tag oder das Jahr sein sehr viele Optionen, die alle gleich gültig sind. Um dieses Problem zu lösen, können wir den Datumsformatierer verwenden.
Um die Datumsangaben zu formatieren, haben wir einige Platzhalter oder Parameter, die es uns ermöglichen, die im vorherigen Absatz erläuterten Werte zu erhalten. Mal sehen, welche die wichtigsten sind.
- Ja, ermöglicht uns den Zugriff auf das Jahr im vier- oder zweistelligen Format (2014 oder 14).
- D, ermöglicht es uns, die Zahl des Tages des Jahres (225) zu erhalten.
- D, Im Gegensatz zum vorherigen gibt es die Nummer des Tages des betreffenden Monats zurück (27).
- L, hilft uns, den Monat des Jahres in numerischer Form zu erhalten, m gibt uns den Monat im Text.
- h, gibt uns die Zeit.
- S, gibt uns die Sekunden.
- m, ermöglicht es uns, das Protokoll zu erhalten.
- zu, gibt uns den Vormittag oder Nachmittag der Stunde an.
- z, ermöglicht uns den Zugriff auf den Namen der Zeitzone.
java.time importieren *; java.time.format importieren *; öffentliche Klasse DateFormatter {öffentliche statische void main (String [] args) {DateTimeFormatter formatiertes Datum = DateTimeFormatter.ofPattern ("yyyy / LL / dd"); System.out.println (FormattedDate.format (LocalDate.now ())); System.out.println (LocalDate.parse ("2014/11/15", formatiertes Datum)); DateTimeFormatter timezone = DateTimeFormatter.ofPattern ("d MMMM, yyyy h: mm a"); System.out.println (ZonedDateTime.now (). Format (Zeitzone)); }}
Das erste, was wir hervorheben können, ist, dass wir beide Pakete importieren müssen java.time mit all seinen Klassen als Paket java.time.format mit all seinen klassen auch. Es ist möglich, die Übung durch Importieren der spezifischen Klassen durchzuführen, aber wir lassen dies als Hausaufgabe, auch damit sie die Aufgabe haben, die offizielle Dokumentation zu sehen.
Dann sehen wir, dass wir ein Objekt vom Typ . erzeugen DateTimeFormatter und wir verwenden die Methode vonMuster () die die angegebenen Wildcards akzeptiert, sehen wir, dass wir die Wildcards doppelt platzieren als yyyy um die vier Stellen des aktuellen Jahres zu erhalten oder auch mm um die zwei Stellen der Minuten zu erhalten.
Schließlich drucken wir jedes der Daten mit ihren Formaten und erhalten Folgendes, wenn wir unser Programm ausführen:
Eine weitere Verwendung, die wir den neuen Datums- und Zeitklassen von geben können Java ist, Datumsangaben verwenden zu können, die aus einer Textzeichenfolge stammen, diese können von einem Benutzer erstellt werden, aus einer Textdatei stammen usw. Aber das Wichtigste ist, dass wir sie manipulieren müssen und dafür alle Werkzeuge nutzen können, die uns zur Verfügung stehen.
Sehen wir uns im folgenden Code an, wie wir mithilfe des Gesehenen Änderungen an einem Datum aus einer Textzeichenfolge vornehmen können.
java.time importieren *; java.time.format importieren *; öffentliche Klasse StaticDate {öffentliche statische void main (String [] args) {String StartDate = "1906-12-31"; LocalDate takeDate = LocalDate.parse (startDate); System.out.println ("Datum:" + TakenDate); String dateStartTime = "1906-12-31T12: 05"; LocalDateTime TakenDateTime = LocalDateTime.parse (TimeInitialDate); System.out.println ("Datum / Uhrzeit:" + dateTakTime); DateTimeFormatter df = DateTimeFormatter.ofPattern ("dd MMM uuuu"); System.out.println (TakenDate + "Mit neuem Format:" + df.format (TakenDate)); }}
Im Code sehen wir, wie wir ein Anfangsdatum in einer Textzeichenfolge erstellen, dann mit einem Objekt vom Typ LocalDate Wir verwenden die Methode Analysieren Um die Textzeichenfolge in ein Datumsobjekt einzufügen, drucken wir das Objekt und sehen, dass wir das gleiche Verfahren wiederholen, wenn es das Datum richtig erfasst hat, jedoch mit Datum und Uhrzeit mit LocalDateTime.
Schließlich nehmen wir unser erstes erstelltes Objekt und wenden ein neues Format darauf an, wodurch wir bestätigen, dass wir ein Datum eingeben und manipulieren konnten, das wir aus einer Textzeichenfolge erstellt haben. Sehen wir uns an, wie es aussieht, wenn wir unser Programm ausführen: