Arbeiten mit Datum und Uhrzeit in Kotlin: vollständige Anleitung

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einführung in die Arbeit mit Datum und Uhrzeit in Kotlin

Die Arbeit mit Datum und Uhrzeit ist eine der Kernaufgaben bei der Entwicklung jeder Anwendung. Ob es sich um die Protokollierung von Ereignissen, die Berechnung von Fristen, die Anzeige eines Kalenders oder die Arbeit mit Zeitstempeln handelt – ohne ein zuverlässiges Werkzeug kommt man nicht aus. Im Kotlin-Ökosystem wird für diese Zwecke die leistungsstarke Bibliothek java.time verwendet, die die veralteten java.util.Date und java.util.Calendar abgelöst hat. Dank der vollständigen Kompatibilität mit Java ermöglicht Kotlin die direkte Nutzung aller Funktionen von java.time und fügt zudem praktische Erweiterungen und syntaktischen Zucker hinzu.

In diesem Artikel werden wir im Detail besprechen, wie man Datum und Uhrzeit in Kotlin erstellt, formatiert, parst und umwandelt. Sie lernen die wichtigsten Klassen wie LocalDate, LocalTime, LocalDateTime, ZonedDateTime und Instant kennen und erfahren, wie man mit Perioden und Dauern arbeitet. Alle Codebeispiele sind in reinem Kotlin geschrieben und einsatzbereit.



Wichtige Klassen für die Arbeit mit Datum und Uhrzeit

Die Bibliothek java.time bietet mehrere Schlüsselklassen, von denen jede ihre eigene Aufgabe erfüllt. Schauen wir sie uns genauer an.



LocalDate – Arbeiten mit Datum ohne Uhrzeit

Die Klasse LocalDate repräsentiert ein Datum (Jahr, Monat, Tag) ohne Berücksichtigung von Uhrzeit und Zeitzone. Ideal geeignet für Geburtstage, Kalenderereignisse und Aufgaben, bei denen die Uhrzeit keine Rolle spielt.

import java.time.LocalDate

fun main() { // Aktuelles Datum val today = LocalDate.now() println("Heute: $today")

// Bestimmtes Datum val specificDate = LocalDate.of(2024, 12, 25) println("Weihnachten: $specificDate")

// Parsen aus einem String val parsedDate = LocalDate.parse("2024-12-25") println("Geparst: $parsedDate")}


LocalTime – Arbeiten mit Uhrzeit ohne Datum

LocalTime speichert nur die Uhrzeit (Stunden, Minuten, Sekunden, Nanosekunden). Es wird für Zeitpläne, Timer und Zeitstempel ohne Bezug zu einem Datum verwendet.

import java.time.LocalTime

fun main() { // Aktuelle Uhrzeit val now = LocalTime.now() println("Jetzt: $now")

// Bestimmte Uhrzeit val lunchTime = LocalTime.of(13, 30) println("Mittagessen um: $lunchTime")

// Parsen val parsedTime = LocalTime.parse("15:45:30") println("Geparst: $parsedTime")}


LocalDateTime – Kombination von Datum und Uhrzeit

LocalDateTime kombiniert LocalDate und LocalTime. Dies ist die am häufigsten verwendete Klasse zum Speichern eines Zeitpunkts ohne Berücksichtigung der Zeitzone.

import java.time.LocalDateTimeimport java.time.LocalDateimport java.time.LocalTime

fun main() { // Aktueller Moment val now = LocalDateTime.now() println("Jetzt: $now")

// Aus einzelnen Komponenten val date = LocalDate.of(2024, 12, 25) val time = LocalTime.of(10, 0) val christmasMorning = LocalDateTime.of(date, time) println("Weihnachtsmorgen: $christmasMorning")

// Kombinierte Methode val newYear = LocalDateTime.of(2025, 1, 1, 0, 0) println("Neujahr: $newYear")}


Formatierung und Parsen von Daten

Für die Umwandlung von Daten in Zeichenketten und zurück wird die Klasse DateTimeFormatter verwendet. Sie unterstützt viele vordefinierte Formate und ermöglicht die Erstellung eigener Muster.



Formatierung eines Datums in einen String

import java.time.LocalDateTimeimport java.time.format.DateTimeFormatter

fun main() { val now = LocalDateTime.now()

// Standard-ISO-Format val isoFormat = now.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME) println("ISO: $isoFormat")

// Benutzerdefiniertes Format val customFormatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss")

Blogs

Buchempfehlungen