Arbeiten mit Terminen in Kotlin

1. Einleitung

In diesem kurzen Tutorial erfahren Sie, wie Sie mit Daten in Kotlin arbeiten.

Wir werden uns mit datumsbezogenen Vorgängen wie dem Erstellen, Formatieren und Bearbeiten von Datumsangaben befassen .

2. Erstellen eines Datums

Der schnellste Weg , um ein erstellen Datum Objekt wird mit LOCALDATE ‚s parst () Methode:

var date = LocalDate.parse("2018-12-12")

Die parse () -Methode verwendet standardmäßig das Standard-Datumsformat JJJJ-MM-TT .

Wir können auch unser eigenes Format übergeben, um eine Datumszeichenfolge zu analysieren:

var formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy") var date = LocalDate.parse("31-12-2018", formatter)

Und wenn wir mehr brauchen wir kontrollieren können explizit die angeben Jahr , Tag und Monat mit LOCALDATE ‚s von () Methode :

var date = LocalDate.of(2018, 12, 31)

3. Formatieren eines Datums

Als nächstes schauen wir uns an, wie wir unsere Datumsobjekte wieder in Strings formatieren können .

Die Standardmethode zum Formatieren des Datums im Standardformat in Kotlin ist das Aufrufen der toString () -Methode .

Lassen Sie uns ein Datum erstellen

var date = LocalDate.parse("2018-12-31")

und sehen Sie sich die Standardausgabe der Verwendung von toString an :

assertThat(date.toString()).isEqualTo("2018-12-31")

Dies sieht lesbar aus, da das Ausgabeformat JJJJ-MM-TT ist. Abhängig von unseren Anwendungsfällen müssen wir das Datum jedoch möglicherweise in benutzerdefinierte Formate formatieren.

So formatieren Sie unser Datum in verschiedenen Formaten können wir verwenden LOCALDATE ‚s - Format () Methode und Versorgung es unser eigenes Format mit DateTimeFormatter :

var formatter = DateTimeFormatter.ofPattern("dd-MMMM-yyyy") var formattedDate = date.format(formatter)

Dies gibt ein schön formatiertes Datum aus:

assertThat(formattedDate).isEqualTo("31-December-2018")

4. Extrahieren von Datumskomponenten

LocalDate bietet viele Methoden, mit denen wir bestimmte Komponenten aus Date extrahieren können .

Einige davon sind recht trivial, z. B. das Extrahieren von Jahr, Monat oder Tag aus einem Datum :

var date = LocalDate.parse("2018-12-31") assertThat(date.year).isEqualTo(2018) assertThat(date.month).isEqualTo(Month.DECEMBER) assertThat(date.dayOfMonth).isEqualTo(31)

Wir können auch andere Informationen wie e ra , d ayOfTheWeek oder d ayOfTheMonth extrahieren :

assertThat(date.era.toString()).isEqualTo("CE") assertThat(date.dayOfWeek).isEqualTo(DayOfWeek.MONDAY) assertThat(date.dayOfYear).isEqualTo(365)

5. Arbeiten mit Periode

Lassen Sie uns abschließend die Arbeit mit Perioden in Kotlin untersuchen.

Perioden repräsentieren eine Entfernung auf der Zeitachse. Wir können eine Periode mit der Klassenfactory-Methode von Period erstellen :

var period = Period.of(1, 2, 3)

Dies schafft einen Zeitraum von 1 Jahr, 2 Monaten und 3 Tagen.

Um dieses Add Zeitraum zu einem bestehenden Termin, verwenden wir das LOCALDATE ‚s plus () Methode:

var date = LocalDate.of(2018, 6, 25) var modifiedDate = date.plus(period)

Dies addiert 1 Jahr, 2 Monate und 3 Tage zum angegebenen Datum und erzeugt das geänderte Datum:

assertThat(modifiedDate).isEqualTo("2019-08-28")

Ebenso können wir einen Zeitraum von einem bestimmten Datum abziehen :

var date = LocalDate.of(2018, 6, 25) var modifiedDate = date.minus(period)

Und wie erwartet wird das Änderungsdatum sein:

assertThat(modifiedDate).isEqualTo("2017-04-22")

Wir können auch Perioden verwenden, um den Abstand zwischen zwei Daten darzustellen.

Nehmen wir an, wir haben zwei Daten, genau 6 Monate voneinander entfernt:

var date1 = LocalDate.parse("2018-06-25") var date2 = LocalDate.parse("2018-12-25")

Jetzt können wir den Abstand zwischen diesen beiden Daten mithilfe der Methode " Perioden zwischen " darstellen:

var period = Period.between(date1, date2)

Die Periodenvariable erzeugt Folgendes :

assertThat(period.toString()).isEqualTo("P6M")

P steht für Periode und 6M bedeutet 6 Monate.

6. Fazit

In diesem Artikel haben wir die Grundlagen der Arbeit mit Daten in Kotlin gelernt.

Wir haben untersucht, wie Datumsinstanzen mit verschiedenen Methoden erstellt und Datumsobjekte wieder in lesbare Texte formatiert werden.

Darüber hinaus haben wir uns mit dem Extrahieren von Komponenten aus Datumsobjekten und schließlich mit der Arbeit mit Perioden in Kotlin befasst.

Der in diesem Tutorial verwendete Code ist auf GitHub verfügbar.